Hi,

I have a search toolbar on the top of the grid and when i click on Search button the gridPanel should be filled filtering the search results.


I am using the same Store1 on page_loading and gridpanel is displayed with all the values in the table and after search also binding data to the same store.


My problem is on clicking search button the Gridpanel is not reloaded and filled according to new search results from the database.Can you please help me for this?


I am posting my .aspx file which contains all the code.Please do reply me ASAP.






<script runat="server">
        protected void Page_Load(object sender, EventArgs e)
        {
            moduleload();
            menuload1();
            this.Store1.DataSource = SqlDataSource1;
            this.Store1.DataBind();
            this.GridPanel1.StoreID = "Store1";
       
        }


        private bool cancel;
        private string message;


        protected void Store1_BeforeRecordInserted(object sender, BeforeRecordInsertedEventArgs e)
        {
            /*object region = e.NewValues["Region"];
            if (region == null || region.ToString() != "Alabama (AL)")
            {
                e.Cancel = true;
                this.cancel = true;
                this.message = "The Region must be 'AL'";
            }*/
        }


        protected void Store1_AfterRecordInserted(object sender, AfterRecordInsertedEventArgs e)
        {
            //The deleted and updated records confirms automatic (depending AffectedRows field)
            //But you can override this in AfterRecordUpdated and AfterRecordDeleted event
            //For insert we should set new id for refresh on client
            //If we don't set new id then old id will be used
            if (e.Confirmation.Confirm &amp;&amp; !string.IsNullOrEmpty(insertedValue))
            {
                e.Confirmation.ConfirmRecord(insertedValue);
                insertedValue = "";
            }
        }


        private string insertedValue;
        protected void SqlDataSource1_Inserted(object sender, SqlDataSourceStatusEventArgs e)
        {
            //use e.AffectedRows for ensure success action. The store read this value and set predefined Confirm depend on e.AffectedRows
            //The Confirm can be granted or denied in OnRecord....ed event
            insertedValue = e.Command.Parameters["@table_id"].Value != null
                               ? e.Command.Parameters["@table_id"].Value.ToString()
                              : "";
        }


        protected void Store1_AfterAjaxEvent(object sender, AfterAjaxEventArgs e)
        {
            if (e.Response.Success)
            {
                // set to .Success to false if we want to return a failure
                e.Response.Success = !cancel;
                e.Response.Msg = message;
            }
        }


        protected void Store1_BeforeAjaxEvent(object sender, BeforeAjaxEventArgs e)
        {
            string emulError = e.Parameters["EmulateError"];
            if (emulError == "1")
            {
                throw new Exception("Emulating error");
            }
        }


        protected void Store1_RefershData(object sender, StoreRefreshDataEventArgs e)
        {
            this.Store1.DataBind();
        }


        


       protected String searchclick()
       {
         return("Ext.Msg.Alert('Confirm', 'sadjsh');");
           
       }


       protected void UpdateTimeStamp(object sender, AjaxEventArgs e)
       {
           String strsql;
           strsql = "";
           String name = this.name.Text;
           String type = this.type.SelectedItem.Value;
           String status = this.status.SelectedItem.Value;
           this.status_label.Text = status;
           //this.type_label.Text = type;
           //this.name_label.Text = name;
           //if (name != "" &amp;&amp; type == "" &amp;&amp; status == "")
           //{
           //strsql = strsql + " where name='"+name+"'";
           // }
           //Response.Write(strsql);
           //this.SqlDataSource4.SelectCommand = strsql;
           //this.Store4.DataSource = SqlDataSource4;
           //this.Store4.DataBind();
           //GridPanel1.StoreID = "Store4";
           //this.GridPanel1.ColumnModel.ID = "ColumnModel1";
           //Panel2.AutoLoad.Url = "http://www.google.com";
           //this.GridPanel1.DataBind();
           // GridPanel1.LoadMask = new Ext.apply
           //Coolite.Ext.Web.ColumnModel colModel = this.GridPanel1.ColumnModel;
           //this.GridPanel1.LoadMask = true;
           //this.GridPanel1.Reconfigure();


           SqlConnection oClient = new SqlConnection(ConfigurationManager.ConnectionStrings["v3_devConnectionString"].ConnectionString);
           String selectString = "Select * from tt_table where name='reema'";


           DataSet dsData = new DataSet();
           SqlCommand mySqlCommand = oClient.CreateCommand();


           mySqlCommand.CommandText = selectString;


           SqlDataAdapter mySqlDataAdapter = new SqlDataAdapter();


           mySqlDataAdapter.SelectCommand = mySqlCommand;
           DataSet myDataSet = new DataSet();


           oClient.Open();


           mySqlDataAdapter.Fill(myDataSet, "tt_table");


           if (myDataSet != null)
           {
               Store1.DataSource = myDataSet.Tables[0];
               Store1.DataBind();
           }
          
       }


       protected void Reconfigure(object sender, AjaxEventArgs e)
       {
           ToolbarButton button = (ToolbarButton)sender;
           SqlConnection oClient = new SqlConnection(ConfigurationManager.ConnectionStrings["v3_devConnectionString"].ConnectionString);
           String selectString = "Select * from tt_table where name='reema'";
            
           DataSet dsData = new DataSet();
           SqlCommand mySqlCommand = oClient.CreateCommand();


           mySqlCommand.CommandText = selectString;


           SqlDataAdapter mySqlDataAdapter = new SqlDataAdapter();


           mySqlDataAdapter.SelectCommand = mySqlCommand;
           DataSet myDataSet = new DataSet();


           oClient.Open();


           mySqlDataAdapter.Fill(myDataSet, "tt_table");


           if (myDataSet != null)
           {
               Store1.DataSource = myDataSet.Tables[0];
               Store1.DataBind();
               //GridPanel1.RefreshView();
               //GridPanel1.Reload();
               GridPanel1.Reconfigure();
           }
           //this.Store1.DataSource = SqlDataSource4;
           //this.Store1.DataBind();
           //GridPanel1.Reconfigure();
           //GridPanel1.Reload();
       }
    </script>
</head>
<body>
    <form id="form1" runat="server">
    <ext:ScriptManager ID="ScriptManager1" runat="server" StateProvider="None" />
    <asp:SqlDataSource ID="SqlDataSource1" runat="server" 
        ConnectionString="<%$ ConnectionStrings:v3_devConnectionString %>"
        DeleteCommand="DELETE FROM tt_table WHERE (table_id = @table_id)"
        InsertCommand="INSERT INTO tt_table
                           (name,name_short
                            table_type,table_status 
                            update_user,update_date) 
                        VALUES 
                            (@name,@name_short
                             @table_type,
                             @table_status,@update_user,@update_date);                         
                        "
            SelectCommand="select * from tt_table"
     
                       
        UpdateCommand="UPDATE tt_table SET 
                            name = @name,name_short=@name_short, 
                            table_type = @table_type, 
                            table_status=@table_status,
                            update_user=@update_user,
                            update_date=@update_date
                            WHERE (table_id = @table_id)"
                       
        OnInserted="SqlDataSource1_Inserted" >
        
        <DeleteParameters>
            <asp:Parameter Name="table_id" Type="Int32" />
        </DeleteParameters>
        <UpdateParameters>
            <asp:Parameter Name="name" Type="String" />
            <asp:Parameter Name="name_short" Type="String" />
            <asp:Parameter Name="table_type" Type="String" />
            <asp:Parameter Name="table_status" Type="String" />
            <asp:Parameter Name="update_user" Type="Int32" />
            <asp:Parameter Name="update_date" Type="String" />
        </UpdateParameters>
        <InsertParameters>
           
            <asp:Parameter Name="name" Type="String" />
            <asp:Parameter Name="name_short" Type="String" />
            <asp:Parameter Name="table_type" Type="String" />
            <asp:Parameter Name="table_status" Type="String" />
            <asp:Parameter Name="update_user" Type="Int32" />
            <asp:Parameter Name="update_date" Type="String" />
            <asp:Parameter Direction="Output" Name="table_id" Type="Int32" />
        </InsertParameters>
    </asp:SqlDataSource>
     
     <asp:SqlDataSource ID="SqlDataSource2" runat="server" 
        ConnectionString="<%$ ConnectionStrings:v3_devConnectionString %>"                
        SelectCommand="SELECT xlat_code,xlat_descr,t.col_id from tt_translate t inner join tt_column c on c.col_id=t.col_id where c.name='Type' and t.xlat_status='A'">
        </asp:SqlDataSource>
        
         <asp:SqlDataSource ID="SqlDataSource3" runat="server" 
        ConnectionString="<%$ ConnectionStrings:v3_devConnectionString %>"                
        SelectCommand="SELECT xlat_code,xlat_descr,t.col_id from tt_translate t inner join tt_column c on c.col_id=t.col_id where c.name='Status' and t.xlat_status='A'">
        </asp:SqlDataSource>
    <ext:Store ID="Store1" runat="server" 
        
        OnAfterAjaxEvent="Store1_AfterAjaxEvent"
        OnBeforeAjaxEvent="Store1_BeforeAjaxEvent"
        OnBeforeRecordInserted="Store1_BeforeRecordInserted"
        OnAfterRecordInserted="Store1_AfterRecordInserted"
        OnRefreshData="Store1_RefershData">
        
        <Reader>
            <ext:JsonReader ReaderID="table_id">
                <Fields>
                    <ext:RecordField Name="table_id" />
                    <ext:RecordField Name="name" />
                    <ext:RecordField Name="name_short" />                   
                    <ext:RecordField Name="table_type" />
                    <ext:RecordField Name="table_status" />
                    <ext:RecordField Name="update_date" />
                    <ext:RecordField Name="update_user" />
                </Fields>
            </ext:JsonReader>
        </Reader>
        <SortInfo Field="table_status" Direction="ASC" />
        <Listeners>
            <LoadException Handler="Ext.Msg.alert('Column - Load failed', e.message || e )" />
            <CommitFailed Handler="Ext.Msg.alert('Column - Commit failed', 'Reason: ' + msg)" />
            <SaveException Handler="Ext.Msg.alert('Column - Save failed', e.message || e)" />
            <CommitDone Handler="Ext.Msg.alert('Column - Commit', 'The data successfully saved');" />
        </Listeners>      
    </ext:Store>
    
    <asp:SqlDataSource ID="SqlDataSource4" runat="server" 
    
        ConnectionString="<%$ ConnectionStrings:v3_devConnectionString %>" 
        SelectCommand="select table_id,name,name_short,table_type,table_status,update_user,update_date from tt_table where name='reema'">              
        </asp:SqlDataSource>
        
    <ext:Store ID="Store4" runat="server" 
        
        OnAfterAjaxEvent="Store1_AfterAjaxEvent"
        OnBeforeAjaxEvent="Store1_BeforeAjaxEvent"
        OnBeforeRecordInserted="Store1_BeforeRecordInserted"
        OnAfterRecordInserted="Store1_AfterRecordInserted"
        OnRefreshData="Store1_RefershData">
        
        <Reader>
            <ext:JsonReader ReaderID="table_id">
                <Fields>
                    <ext:RecordField Name="table_id" />
                    <ext:RecordField Name="table_status" />
                    <ext:RecordField Name="table_type" />
                    <ext:RecordField Name="name" />
                    <ext:RecordField Name="name_short" />                   
                    <ext:RecordField Name="update_date" />
                    <ext:RecordField Name="update_user" />
                </Fields>
            </ext:JsonReader>
        </Reader>
        <SortInfo Field="table_status" Direction="ASC" />
        <Listeners>
            <LoadException Handler="Ext.Msg.alert('Column - Load failed', e.message || e )" />
            <CommitFailed Handler="Ext.Msg.alert('Column - Commit failed', 'Reason: ' + msg)" />
            <SaveException Handler="Ext.Msg.alert('Column - Save failed', e.message || e)" />
            <CommitDone Handler="Ext.Msg.alert('Column - Commit', 'The data successfully saved');" />
        </Listeners>      
    </ext:Store>
    
     <ext:Store ID="Store2" runat="server" 
        DataSourceID="SqlDataSource2" >
                <Reader>
            <ext:JsonReader ReaderID="">
                <Fields>
                    <ext:RecordField Name="xlat_code" />
                    <ext:RecordField Name="xlat_descr" />
                    <ext:RecordField Name="col_id" />
                </Fields>
            </ext:JsonReader>
        </Reader>
        <Listeners>
            <LoadException Handler="Ext.Msg.alert('Column - Load failed', e.message || e )" />
        </Listeners>      
    </ext:Store>
    
     <ext:Store ID="Store3" runat="server" 
        DataSourceID="SqlDataSource3" >
                <Reader>
            <ext:JsonReader ReaderID="">
                <Fields>
                    <ext:RecordField Name="xlat_code" />
                    <ext:RecordField Name="xlat_descr" />
                    <ext:RecordField Name="col_id" />
                </Fields>
            </ext:JsonReader>
        </Reader>
        <Listeners>
            <LoadException Handler="Ext.Msg.alert('Column - Load failed', e.message || e )" />
        </Listeners>      
    </ext:Store>
    
   <ext:ViewPort ID="ViewPort1" runat="server" >
        <Body>
            <ext:BorderLayout ID="BorderLayout1" runat="server">
            <Center>
         
             <ext:Panel ID="Panel2" runat="server" Height="300" Header="false" Width="260">
             <TopBar>
             <ext:Toolbar ID="toolbar" Height="30" Width="" >
             <Items>
             <ext:Label ID="Label1" Text="Search:"  runat="server" Cls="label"/>
            <ext:Label ID="name_label" Text="Name" runat="server"  Cls="label" />
            <ext:TextField ID="name" runat="server" />
            <ext:Label ID="type_label" Text="Type"  runat="server" Cls="label" />
            <ext:ComboBox ID="type" runat="server" Editable="false" StoreID="store3" DataIndex="xlat_code" DisplayField="xlat_descr" ValueField="xlat_code">
            </ext:ComboBox>
            <ext:Label ID="status_label" Text="Status" runat="server" Cls="label" />
            <ext:ComboBox ID="status" runat="server" Editable="false" StoreID="store2" DataIndex="xlat_code" DisplayField="xlat_descr" ValueField="xlat_code">
            </ext:ComboBox>
            <ext:Button ID="btnSearch" runtat="server" Text="Search" Icon="Magnifier" OnClientClick="" > 
             <AjaxEvents>
                <Click OnEvent="UpdateTimeStamp">
                   <EventMask ShowMask="true" Target="CustomTarget" CustomTarget="={#{GridPanel1}.body}" />
                </Click>
            </AjaxEvents>


            </ext:Button>
                    </Items>
                            </ext:Toolbar>
                            </TopBar>
                        <Body>
                             <ext:FitLayout ID="FitLayout1" runat="server">
                                <ext:GridPanel ID="GridPanel1" runat="server"  Title="Columns" 
                                     Border="false" Icon="table">
                                     <View>
                                        <ext:GridView ForceFit="true" AutoFill="true" />
                                        </View>
                                    <ColumnModel ID="ColumnModel1" runat="server">
                                        <Columns>
                                            <ext:Column ColumnID="table_id" DataIndex="table_id" Header="Table ID">
                                                <Editor>
                                                </Editor>
                                            </ext:Column>
                                            <ext:Column DataIndex="name" Header="Table Name">
                                                <Editor>
                                                    <ext:TextField ID="TextField2" runat="server" />
                                                </Editor>
                                            </ext:Column>
                                            <ext:Column DataIndex="name_short" Header="Short Table Name">
                                                <Editor>
                                                    <ext:TextField ID="TextField1" runat="server" />
                                                </Editor>
                                            </ext:Column>
                                            <ext:Column DataIndex="table_type" Header="Table Type">
                                                <Editor>
                                                    <ext:TextField ID="TextField3" runat="server" />
                                                </Editor>
                                            </ext:Column>
                                            <ext:Column DataIndex="table_status" Header="Table Status">
                                                <Editor>
                                                    <ext:TextField ID="TextField12" runat="server" />
                                                </Editor>
                                            </ext:Column>
                                            <ext:Column DataIndex="update_user" Header="Update User">
                                                <Editor>
                                                    <ext:TextField ID="TextField13" runat="server" />
                                                </Editor>
                                            </ext:Column>
                                            <ext:Column DataIndex="update_date" Header="Update Date">
                                                <Editor>
                                                    <ext:TextField ID="TextField14" runat="server" />
                                                </Editor>
                                            </ext:Column>                                                                                                                         
                                        </Columns>
                                    </ColumnModel>                                    
                                    <SelectionModel>
                                        <ext:RowSelectionModel ID="RowSelectionModel1" runat="server" />
                                    </SelectionModel>
                                    <BottomBar>
                                        
                                         <ext:Toolbar ID="Toolbar3" runat="server">
                                            <Items>
                                                <ext:ToolbarFill />
                                        <ext:ToolbarButton ID="ToolbarButton3" runat="server" Text="Reconfigure">
                                            <AjaxEvents>
                                        <Click OnEvent="Reconfigure" Single="true">
                                        <EventMask ShowMask="true" Target="CustomTarget" CustomTarget="={#{GridPanel1}.body}" />
                                        </Click>
                                        </AjaxEvents>
                                     
                                        </ext:ToolbarButton>
                                           </Items>
                                        </ext:Toolbar>
                                    </BottomBar>
                                    <SaveMask ShowMask="true" />
                                    <LoadMask ShowMask="true" />
                                </ext:GridPanel>
                            </ext:FitLayout>
                        </Body>
                        
                        <Buttons>
                            <ext:Button ID="btnSave" runat="server"  Text="Save" Icon="Disk">
                                <Listeners>
                                    <Click Handler="#{GridPanel1}.save();" />
                                </Listeners>
                            </ext:Button>
                            <ext:Button ID="btnDelete" runat="server"  Text="Delete selected records" Icon="Delete">
                                <Listeners>
                                    <Click Handler="#{GridPanel1}.deleteSelected();" />
                                </Listeners>
                            </ext:Button>
                            <ext:Button ID="btnInsert" runat="server"  Text="Insert" Icon="Add">
                                <Listeners>
                                    <Click Handler="#{GridPanel1}.insertRecord(0, {});#{GridPanel1}.getView().focusRow(0);#{GridPanel1}.startEditing(0, 0);" />
                                </Listeners>
                            </ext:Button>
                            <ext:Button ID="btnRefresh" runat="server"  Text="Refresh" Icon="ArrowRefresh">
                                <Listeners>
                                    <Click Handler="#{GridPanel1}.reload();" />
                                </Listeners>
                            </ext:Button>
                            <ext:Button ID="btnEmulError" runat="server"  Text="Refresh with Emulated error" Icon="Exclamation">
                                <Listeners>
                                    <Click Handler="#{GridPanel1}.reload({params:{EmulateError: 1}});" />
                                </Listeners>
                            </ext:Button>                           
                        </Buttons>
                    </ext:Panel>
                </Center>             
             </ext:BorderLayout>
        </Body>
    </ext:ViewPort>
    </form>