[CLOSED] How to update all updated grid info in Editable Grid?

  1. #1

    [CLOSED] How to update all updated grid info in Editable Grid?

    Hi,

    I found a grid panel with editable plugin in your examples. How it is working? I didn't find how to update even after edit some row values. Can you provide one example how to save that all edited information form code behind.
    Last edited by Daniil; Dec 06, 2011 at 4:45 PM. Reason: [CLOSED]
  2. #2
    Hi,

    Please look at the simple example.

    Example
    <%@ Page Language="C#" %>
     
    <%@ Register Assembly="Ext.Net" Namespace="Ext.Net" TagPrefix="ext" %>
    <script runat="server">
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!X.IsAjaxRequest)
            {
                this.Store1.DataSource = new object[] 
                { 
                    new object[] { "test1", "test2", "test3" },
                    new object[] { "test4", "test5", "test6" },
                    new object[] { "test7", "test8", "test9" },
                };
                this.Store1.DataBind();
            }
        }
    
        protected void Store_BeforeStoreChanged(object sender, BeforeStoreChangedEventArgs e)
        {
            string jsonData = e.DataHandler.JsonData;
            X.Msg.Alert("Saved", jsonData).Show();
        }
    </script>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
        "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
        <title>Ext.Net Example</title>
    </head>
    <body>
        <form runat="server">
            <ext:ResourceManager runat="server" />
            <ext:GridPanel ID="GridPanel1" runat="server" AutoHeight="true">
                <Store>
                    <ext:Store 
                        ID="Store1" 
                        runat="server"
                        RefreshAfterSaving="None"
                        OnBeforeStoreChanged="Store_BeforeStoreChanged">
                        <Reader>
                            <ext:ArrayReader>
                                <Fields>
                                    <ext:RecordField Name="test1" />
                                    <ext:RecordField Name="test2" />
                                    <ext:RecordField Name="test3" />
                                </Fields>
                            </ext:ArrayReader>
                        </Reader>
                    </ext:Store>
                </Store>
                <ColumnModel runat="server">
                    <Columns>
                        <ext:Column Header="Test1" DataIndex="test1">
                            <Editor>
                                <ext:TextField runat="server" />
                            </Editor>
                        </ext:Column>
                        <ext:Column Header="Test2" DataIndex="test2">
                            <Editor>
                                <ext:TextField runat="server" />
                            </Editor>
                        </ext:Column>
                        <ext:Column Header="Test3" DataIndex="test3">
                            <Editor>
                                <ext:TextField runat="server" />
                            </Editor>
                        </ext:Column>
                    </Columns>
                </ColumnModel>
                <Plugins>
                    <ext:EditableGrid runat="server" />
                </Plugins>
            </ext:GridPanel>
            <ext:Button runat="server" Text="Save">
                <Listeners>
                    <Click Handler="GridPanel1.save();" />
                </Listeners>
            </ext:Button>
        </form>
    </body>
    </html>
    Please see also the server side HandleChanges handler here:
    https://examples1.ext.net/#/GridPanel/Update/AutoSave/
  3. #3
    Hi Daniil,

    It is working if we add DataSource as object array. Why the values are not showing if we assign DataTable as DataSource as in example below...

    
    <%@ Page Language="C#" %>
      
    <%@ Register Assembly="Ext.Net" Namespace="Ext.Net" TagPrefix="ext" %>
    <script runat="server">
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!X.IsAjaxRequest)
            {
                cboValue.Items.Add(new Ext.Net.ListItem("val1", "1"));
                cboValue.Items.Add(new Ext.Net.ListItem("val2", "2"));
                cboValue.Items.Add(new Ext.Net.ListItem("val3", "3"));
                cboValue.Items.Add(new Ext.Net.ListItem("val4", "4"));
                
                //this.Store1.DataSource = new object[] 
                //{ 
                //    new object[] { "1","test1", "2", "test3" },
                //    new object[] { "2","test4", "test5", "test6" },
                //    new object[] { "3","test7", "4", "test9" },
                //    new object[] { "4","test10", "test11", "test12" }
                //};
                //this.Store1.DataBind();
    
                this.Store1.DataSource = GetDataInfo();
                this.Store1.DataBind();                
            }
        }
    
        public DataTable GetDataInfo()
        {
            DataTable dt = new DataTable();
            DataRow dr;
            dt.Columns.Add("TestID");
            dt.Columns.Add("test1");
            dt.Columns.Add("test2");
            dt.Columns.Add("test3");
    
            dr = dt.NewRow();
            dr[0] = "1";
            dr[1] = "test1";
            dr[2] = "2";
            dr[3] = "test3";
            dt.Rows.Add(dr);
    
            dr = dt.NewRow();
            dr[0] = "2";
            dr[1] = "test4";
            dr[2] = "test5";
            dr[3] = "test6";
            dt.Rows.Add(dr);
    
            dr = dt.NewRow();
            dr[0] = "3";
            dr[1] = "test7";
            dr[2] = "4";
            dr[3] = "test9";
            dt.Rows.Add(dr);
    
            dr = dt.NewRow();
            dr[0] = "4";
            dr[1] = "test10";
            dr[2] = "test11";
            dr[3] = "test12";
            dt.Rows.Add(dr);
            
            return dt;
        }    
     
        protected void Store_BeforeStoreChanged(object sender, BeforeStoreChangedEventArgs e)
        {
            string jsonData = e.DataHandler.JsonData;        
            X.Msg.Alert("Saved", jsonData).Show();
        }
    </script>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
        "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head id="Head1" runat="server">
        <title>Ext.Net Example</title>
    </head>
    <body>
        <form id="Form1" runat="server">
            <ext:ResourceManager ID="ResourceManager1" runat="server" />
            <ext:GridPanel ID="GridPanel1" runat="server" AutoHeight="true">
                <Store>
                    <ext:Store
                        ID="Store1"
                        runat="server"
                        RefreshAfterSaving="None"
                        OnBeforeStoreChanged="Store_BeforeStoreChanged">
                        <Reader>
                            <ext:ArrayReader>
                                <Fields>
                                    <ext:RecordField Name="TestID" />
                                    <ext:RecordField Name="test1" />
                                    <ext:RecordField Name="test2" />
                                    <ext:RecordField Name="test3" />
                                </Fields>
                            </ext:ArrayReader>
                        </Reader>
                    </ext:Store>
                </Store>
                <ColumnModel ID="ColumnModel1" runat="server">
                    <Columns>
                        <ext:Column Header="Test1" DataIndex="test1">
                            <Editor>
                                <ext:TextField ID="TextField1" runat="server" />
                            </Editor>
                        </ext:Column>
                        <ext:Column Header="Test2" DataIndex="test2">
                            <Editor>
                                <ext:ComboBox ID="cboValue" runat="server" />
                            </Editor>
                        </ext:Column>
                        <ext:Column Header="Test3" DataIndex="test3">
                            <Editor>
                                <ext:TextField ID="TextField3" runat="server" />
                            </Editor>
                        </ext:Column>
                        <ext:CommandColumn Width="40">
                            <Commands>
                                <ext:GridCommand Text="Reject" ToolTip-Text="Reject row changes" CommandName="taskreject" Icon="ArrowUndo" />
                            </Commands>
                            <PrepareToolbar Handler="toolbar.items.get(0).setVisible(record.dirty);" />
                        </ext:CommandColumn>
                    </Columns>
                </ColumnModel>
                <Listeners>
                    <Command Handler="record.reject();" />
                </Listeners>
                <Plugins>
                    <ext:EditableGrid ID="EditableGrid1" runat="server" />
                </Plugins>
                <View>
                    <ext:GridView ID="GridView1" runat="server" ForceFit="true" />
                </View>
            </ext:GridPanel>
            <ext:Button ID="Button1" runat="server" Text="Save">
                <Listeners>
                    <Click Handler="GridPanel1.save();" />
                </Listeners>
            </ext:Button>
        </form>
    </body>
    </html>
    Quote Originally Posted by Daniil View Post
    Hi,

    Please look at the simple example.

    Example
    <%@ Page Language="C#" %>
     
    <%@ Register Assembly="Ext.Net" Namespace="Ext.Net" TagPrefix="ext" %>
    <script runat="server">
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!X.IsAjaxRequest)
            {
                this.Store1.DataSource = new object[] 
                { 
                    new object[] { "test1", "test2", "test3" },
                    new object[] { "test4", "test5", "test6" },
                    new object[] { "test7", "test8", "test9" },
                };
                this.Store1.DataBind();
            }
        }
    
        protected void Store_BeforeStoreChanged(object sender, BeforeStoreChangedEventArgs e)
        {
            string jsonData = e.DataHandler.JsonData;
            X.Msg.Alert("Saved", jsonData).Show();
        }
    </script>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
        "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
        <title>Ext.Net Example</title>
    </head>
    <body>
        <form runat="server">
            <ext:ResourceManager runat="server" />
            <ext:GridPanel ID="GridPanel1" runat="server" AutoHeight="true">
                <Store>
                    <ext:Store 
                        ID="Store1" 
                        runat="server"
                        RefreshAfterSaving="None"
                        OnBeforeStoreChanged="Store_BeforeStoreChanged">
                        <Reader>
                            <ext:ArrayReader>
                                <Fields>
                                    <ext:RecordField Name="test1" />
                                    <ext:RecordField Name="test2" />
                                    <ext:RecordField Name="test3" />
                                </Fields>
                            </ext:ArrayReader>
                        </Reader>
                    </ext:Store>
                </Store>
                <ColumnModel runat="server">
                    <Columns>
                        <ext:Column Header="Test1" DataIndex="test1">
                            <Editor>
                                <ext:TextField runat="server" />
                            </Editor>
                        </ext:Column>
                        <ext:Column Header="Test2" DataIndex="test2">
                            <Editor>
                                <ext:TextField runat="server" />
                            </Editor>
                        </ext:Column>
                        <ext:Column Header="Test3" DataIndex="test3">
                            <Editor>
                                <ext:TextField runat="server" />
                            </Editor>
                        </ext:Column>
                    </Columns>
                </ColumnModel>
                <Plugins>
                    <ext:EditableGrid runat="server" />
                </Plugins>
            </ext:GridPanel>
            <ext:Button runat="server" Text="Save">
                <Listeners>
                    <Click Handler="GridPanel1.save();" />
                </Listeners>
            </ext:Button>
        </form>
    </body>
    </html>
    Please see also the server side HandleChanges handler here:
    https://examples1.ext.net/#/GridPanel/Update/AutoSave/
  4. #4
    Please replace ArrayReader with JsonReader.
  5. #5
    Hi Daniil,

    Thank you. The problem got solved.

    Quote Originally Posted by Daniil View Post
    Please replace ArrayReader with JsonReader.

Similar Threads

  1. [CLOSED] Editable Grid is not showing last changed combobox info
    By rnachman in forum 1.x Legacy Premium Help
    Replies: 12
    Last Post: Dec 11, 2011, 4:41 PM
  2. [CLOSED] Editable Grid is not showing changed info.
    By rnachman in forum 1.x Legacy Premium Help
    Replies: 2
    Last Post: Dec 06, 2011, 3:40 PM
  3. [CLOSED] Reset store's sort info on grid reload/reconfigure
    By jchau in forum 1.x Legacy Premium Help
    Replies: 6
    Last Post: Aug 10, 2010, 4:06 PM
  4. Replies: 5
    Last Post: Jul 10, 2010, 10:33 AM
  5. Data updated in store with e.record.set() is not getting reflected in grid
    By n_s_adhikari@rediffmail.com in forum 1.x Help
    Replies: 2
    Last Post: May 07, 2010, 5:16 AM

Tags for this Thread

Posting Permissions