[CLOSED] Select box pops open after selecting

  1. #1

    [CLOSED] Select box pops open after selecting

    When I use this select box to bind my grid, it pops back open. How can I resolve this?

    <%@ Page Language="vb" AutoEventWireup="false" %>
    
    <!DOCTYPE html>
    
    <script runat="server">
        
        Dim pager As PagingToolbar = New PagingToolbar
        
        Public Sub BuildStore()
            ResetStore()
            BuildGrid()
            ' Setting the page size forces the store to load data.
            pager.SetPageSize(20)
        End Sub
    
        Protected Sub BuildGrid()
            Dim grid As New GridPanel With {.ID = "ResultGrid", .ClientIDMode = UI.ClientIDMode.Static}
            'grid.Store.Add(store)
            grid.StoreID = ResultStore.ClientID
            
            Dim Column = New Column
            With Column
                .DataIndex = "Description"
                .ColumnID = "Description"
                .Width = New Unit(100)
                .Header = "Description"
            End With
            grid.ColumnModel.Columns.Add(Column)
    
            grid.AutoExpandColumn = "Description"
            
            Column = New Column
            With Column
                .DataIndex = "ANOTHER"
                .ColumnID = "ANOTHER"
                .Width = New Unit(100)
                .Header = "ANOTHER!"
                .Hidden = True
            End With
            grid.ColumnModel.Columns.Add(Column)
    
            grid.AutoExpandColumn = "Description"
    
            ' Build the selection model
            Dim selmodel = New CheckboxSelectionModel()
            With selmodel
                .HideCheckAll = True
                .IgnoreTargets = {"a"}
            End With
            grid.SelectionModel.Add(selmodel)
            
            With pager
                .ID = "ResultPager"
                .ClientIDMode = UI.ClientIDMode.Static
                .PageSize = 0
                .HideRefresh = True
                .StoreID = ResultStore.ClientID
            End With
            grid.BottomBar.Add(pager)
            
            Dim filter As New GridFilters
            filter.Filters.Add(New StringFilter With {.DataIndex = "Description"})
            grid.Plugins.Add(filter)
            
    
            ' Render
            grid.Render(pan)
            
            'grid.Reconfigure(ResultStore.ClientID, grid.ColumnModel)
        End Sub
        
        Protected Sub page_load(sender As Object, e As EventArgs) Handles Me.Load
            SearchViewStore.DataSource = {New With {.value = 1, .text = "test"}}.ToList
            SearchViewStore.DataBind()
        End Sub
    
        Protected Sub ResetStore()
            ' Clear fields from the store
            If Ext.Net.v1.X.IsAjaxRequest Then ResultStore.RemoveFields()
    
            ' Add default fields
            ResultStore.AddField(New RecordField("Description"))
            ResultStore.AddField(New RecordField("ANOTHER"))
    
            ' Force the store to reconfigure
            ResultStore.ClearMeta()
        End Sub
    
        Public Sub ResultGrid_RefreshData(sender As Object, e As StoreRefreshDataEventArgs)
            Dim data = {New With {.Description = "Test1", .ANOTHER = "ANOTHER!"}, New With {.Description = "Test2"}}
            ResultStore.DataSource = data.ToList
            ResultStore.DataBind()
        End Sub
        
        Public Sub SearchView_Select(sender As Object, e As DirectEventArgs)
            BuildStore()
        End Sub
    </script>
    
    <html xmlns="http://www.w3.org/1999/xhtml">
        <head id="Head1" runat="server">
            <script type="text/javascript">
                var showCol = function () {
                    var cm = ResultGrid.getColumnModel();
                    // Selected indexes
                    var selected = [1, 2];
                    Ext.each(selected, function (index) {
                        cm.setHidden(index, false);
                    });
                }
            </script>
        </head>
    <body>
        <form id="Form1" runat="server">
            <ext:ResourceManager ID="ResourceManager1" runat="server" />
            
            <h1>Check All Test</h1>
    
            <ext:SelectBox ID="SearchViewSelect" runat="server" Width="250" Icon="Layout">
                <Store>
                    <ext:Store ID="SearchViewStore" runat="server">
                        <Reader>
                            <ext:JsonReader IDProperty="value">
                                <Fields>
                                    <ext:RecordField Name="value" Type="Int" />
                                    <ext:RecordField Name="text" />
                                </Fields>
                            </ext:JsonReader>
                        </Reader>
                    </ext:Store>
                </Store>
                <DirectEvents>
                    <Select OnEvent="SearchView_Select">
                        <EventMask ShowMask="true" Msg="Applying View to Results" Target="Page" />
                    </Select>
                </DirectEvents>
            </ext:SelectBox>
    
            <ext:Store 
                ID="ResultStore"
                runat="server"
                AutoLoad="false"
                OnRefreshData="ResultGrid_RefreshData"
                SerializationMode="Complex"
                RemotePaging="true"
                RemoteSort="true">
                <Proxy>
                    <ext:PageProxy />
                </Proxy>
                <Reader>
                    <ext:JsonReader IDProperty="Result">
                        <Fields>
                        </Fields>
                    </ext:JsonReader>
                </Reader>
            </ext:Store>
            
            <ext:Panel runat="server" ID="pan" Border="false" Layout="FitLayout" Height="500"></ext:Panel>
        </form>
    </body>
    </html>
    Last edited by Daniil; Aug 28, 2014 at 6:58 AM. Reason: [CLOSED]
  2. #2
    Hi @drizzie,

    It is because of
    Protected Sub page_load(sender As Object, e As EventArgs) Handles Me.Load
        SearchViewStore.DataSource = {New With {.value = 1, .text = "test"}}.ToList
        SearchViewStore.DataBind()
    End Sub
    Please change to:
    Protected Sub page_load(sender As Object, e As EventArgs) Handles Me.Load
        If (Not Ext.Net.v1.X.IsAjaxRequest) Then
            SearchViewStore.DataSource = {New With {.value = 1, .text = "test"}}.ToList
            SearchViewStore.DataBind()
        End If
    End Sub
    Last edited by geoffrey.mcgill; Aug 27, 2014 at 1:52 PM.
  3. #3
    Thanks, that resolved the issue.

Similar Threads

  1. Replies: 24
    Last Post: Apr 26, 2016, 10:43 PM
  2. Replies: 19
    Last Post: Sep 24, 2013, 7:14 AM
  3. Replies: 0
    Last Post: Jun 01, 2013, 10:41 AM
  4. Replies: 0
    Last Post: Mar 19, 2010, 5:18 PM

Posting Permissions