[CLOSED] DirectEvent does not populate Combobox after DirectEvent Parent Refresh.

Threaded View

Previous Post Previous Post   Next Post Next Post
  1. #1

    [CLOSED] DirectEvent does not populate Combobox after DirectEvent Parent Refresh.

    To reproduce the issue, click the trigger pulldown for State. This will cause SelState DirectEvent to populate the State ComboBox. So far so Good.
    Now select California. This will call the DirectMethod ReRender the Parent FieldContainer.
    Now click the trigger pulldown for County. This is where it breaks. Even though the Response populates correctly, the pulldown does not populate with the new entries.

    <%@ Page Language="C#" EnableViewState="false" ClassName="Test44" %>
    
    <script runat="server">
        protected void Page_Load( object sender, EventArgs e ) {
        }
    
    
        protected void SelState( object sender, DirectEventArgs e ) {
            // Populate control
            var states = new List<string>() { "California", "Nevada", "Florida" };
            ConvertStateToListener( states );
            State.SelectText();
        }
        protected void SelCounty( object sender, DirectEventArgs e ) {
            // Populate control
            var state = State.Text;
            var counties = new List<string>() { "Los Angeles", "Orange", "Ventura" };
            ConvertCountyToListener( counties );
            County.SelectText();
        }
        protected void ConvertStateToListener( List<string> arr ) {
            ConvertEventToListener( State, arr );
        }
        protected void ConvertCountyToListener( List<string> arr ) {
            ConvertEventToListener( County, arr );
        }
        protected void ConvertEventToListener( ComboBox ctl, List<string> arr ) {
            var store = ctl.GetStore();
            store.DataSource = arr.ConvertAll( input => new object[] { input } );
            store.DataBind();
            ctl.AllowBlank = false;
            ctl.RemoveDirectListener( "focus" );
        }
        protected List<object[]> ConvertAll( IList<string> arr, string existing ) {
            int len = arr.Count;
            if( len == 0 )
                return null;
            var list = new List<object[]>( len - 1 );
            for( int i = 0; i < len; i++ ) {
                var item = arr[i];
                if( existing == item )
                    continue;
                list.Add( new object[] { item } );
            }
            return list;
        }
        [DirectMethod( IDMode = DirectMethodProxyIDMode.None, ShowMask = true )]
        public void ChangeZRScope() {
            RefreshZRScope( this, null );
        }
        public void RefreshZRScope( object sender, EventArgs args ) {
            RegionRow.ReRender();
        }
    </script>
    
    
    <!DOCTYPE html>
    <html>
    <head id="Head1" runat="server">
        <title>Test44 Sample</title>
    </head>
    <body>
        <form id="Form1" runat="server">
    
    
            <ext:ResourceManager ID="ResourceManager1" runat="server" ScriptMode="Development" SourceFormatting="true" />
            <ext:Viewport ID="vp" runat="server" Layout="HBoxLayout">
                <Items>
    
    
                    <ext:Container ID="LP" runat="server" Border="true" Padding="5" Flex="1" Layout="FitLayout">
                        <Items>
                            <ext:FieldContainer ID="RegionRow" runat="server" AnchorHorizontal="100%" Layout="HBoxLayout" Cls="TitlePnl" PaddingSpec="0 5px 0 0">
                                <Items>
    
    
                                    <ext:ComboBox ID="County" runat="server" DisplayField="County" ValueField="County" Flex="3" PaddingSpec="0 3px 0 0"
                                        Editable="true" ForceSelection="true" QueryMode="Local"
                                        EmptyText="Click for County" EmptyCls="EmptyReq">
                                        <Store>
                                            <ext:Store runat="server">
                                                <Reader>
                                                    <ext:ArrayReader />
                                                </Reader>
                                                <Model>
                                                    <ext:Model runat="server">
                                                        <Fields>
                                                            <ext:ModelField Name="County" Type="String" SortDir="ASC" />
                                                        </Fields>
                                                    </ext:Model>
                                                </Model>
                                            </ext:Store>
                                        </Store>
                                        <DirectEvents>
                                            <Focus OnEvent="SelCounty" Single="true">
                                                <EventMask ShowMask="true" Msg="Loading Counties..." />
                                            </Focus>
                                        </DirectEvents>
                                        <ToolTips>
                                            <ext:ToolTip runat="server" Html="Select a county" />
                                        </ToolTips>
                                    </ext:ComboBox>
    
    
                                    <ext:ComboBox ID="State" runat="server" DisplayField="State" ValueField="State" Flex="1"
                                        Editable="true" ForceSelection="true" QueryMode="Local"
                                        EmptyText="Click State" EmptyCls="EmptyReq">
                                        <Store>
                                            <ext:Store runat="server">
                                                <Reader>
                                                    <ext:ArrayReader />
                                                </Reader>
                                                <Model>
                                                    <ext:Model runat="server">
                                                        <Fields>
                                                            <ext:ModelField Name="State" Type="String" SortDir="ASC" />
                                                        </Fields>
                                                    </ext:Model>
                                                </Model>
                                            </ext:Store>
                                        </Store>
                                        <DirectEvents>
                                            <Focus OnEvent="SelState" Single="true">
                                                <EventMask ShowMask="true" Msg="Loading States..." />
                                            </Focus>
                                        </DirectEvents>
                                        <Listeners>
                                            <Select Handler="App.direct.ChangeZRScope();;" />
                                            <Focus Handler="#{State}.onTriggerClick();" />
                                        </Listeners>
                                        <ToolTips>
                                            <ext:ToolTip runat="server" Html="Select a state" />
                                        </ToolTips>
                                    </ext:ComboBox>
    
    
                                </Items>
                            </ext:FieldContainer>
                        </Items>
                    </ext:Container>
    
    
                </Items>
            </ext:Viewport>
        </form>
    </body>
    </html>
    Last edited by Daniil; Feb 03, 2014 at 5:02 AM. Reason: [CLOSED]

Similar Threads

  1. [CLOSED] Refresh tree using DirectEvent
    By bayoglu in forum 2.x Legacy Premium Help
    Replies: 4
    Last Post: Mar 05, 2013, 1:04 PM
  2. [CLOSED] Open parent window from child page using DirectEvent?
    By tjshin in forum 1.x Legacy Premium Help
    Replies: 1
    Last Post: Jun 15, 2012, 2:25 PM
  3. [CLOSED] Multiselect will not populate from directevent
    By HOWARDJ in forum 1.x Legacy Premium Help
    Replies: 9
    Last Post: Jun 29, 2011, 1:07 AM
  4. Replies: 12
    Last Post: Jun 30, 2010, 9:31 PM
  5. Replies: 1
    Last Post: May 08, 2009, 5:34 PM

Posting Permissions