Problem when clicking a button on the toolbar dynamically created

  1. #1

    Toolbar and GridPanel created dynamically generates error when added to a Panel

    Hi, I used an example posted earlier on this forum to create a dynamically gridpanel with a toolbar and a button dynamically created.

    When I click the button, the click event (Click_Event) runs normally. But when I put the gridPanel in a panel using "grid.AddTo (panel1)", click the button causes the following exception:

    Click image for larger version. 

Name:	Error.jpg 
Views:	161 
Size:	96.7 KB 
ID:	2569



    <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="WebApplication8.WebForm1" %>
    <%@ Import Namespace="System.Data"%>
    
    <%@ Register Assembly="Ext.Net" Namespace="Ext.Net" TagPrefix="ext" %>
    
    <!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></title>
        
        <script runat="server">
            private static DataTable GetTestDataTable(int mode)
            {
                DataTable dt = new DataTable();
                //for example, for first grid will be two columns, for second - four columns
                int count = mode == 1 ? 2 : 4;
    
                DataColumn dc = new DataColumn("ID") { Caption = "ID" };
                dt.Columns.Add(dc);
                
                for (int i = 0; i < count; i++)
                {
                    string name = string.Format("Column{0}_{1}", mode, i);
                    dc = new DataColumn(name) { Caption = name };
                    dt.Columns.Add(dc);
                }
    
                //add 10 rows
                int timeStamp = DateTime.Now.Second;
                string cellValue = "Value" + timeStamp;
                for (int i = 0; i < 10; i++)
                {
                    object[] values = mode == 1 ? new object[] { i, cellValue, cellValue } :
                                                  new object[] { i, cellValue, cellValue, cellValue, cellValue };
                    dt.Rows.Add(values);
                }
    
                return dt;
            }
            
            protected void Page_Load(object sender, EventArgs e)
            {
                int mode = int.Parse(this.Request["grid"]??"1");
                DataTable dt = GetTestDataTable(mode);
                
                Store store = new Store {ID = "StoreMovimenti"};
                this.Page.Form.Controls.Add(store);
                store.Reader.Add(new JsonReader());
                
                GridPanel grid = new GridPanel
                                     {
                                         ID = "GridPanelMovimenti",
                                         AutoScroll = true,
                                         AutoHeight = true,
                                         StoreID = store.ID,
                                         StripeRows = true,
                                         Header = false,
                                         AutoWidth = true
                                     };
                grid.TopBar.Add(GetToolbar());
                grid.LoadMask.ShowMask = true;
                grid.LoadMask.Msg = "Loading...";
                this.Page.Form.Controls.Add(grid);
    
                Ext.Net.PagingToolbar pager = new Ext.Net.PagingToolbar { PageSize = 10 };
                grid.BottomBar.Add(pager);
    
                int _n = 0;
                foreach (DataColumn column in dt.Columns)
                {
                    // ADD Column to the Reader
                    if (_n == 0)
                    {
                        ((Ext.Net.JsonReader)store.Reader[0]).IDProperty = column.ColumnName;
                    }
    
                    store.Reader[0].Fields.Add(new Ext.Net.RecordField(column.Caption));
    
                    //// ADD Column to columns collection
                    Ext.Net.Column _col = new Ext.Net.Column
                                                      {
                                                          ColumnID = ("CLM_" + _n.ToString()),
                                                          Header = column.Caption,
                                                          DataIndex = column.Caption
                                                      };
                    grid.ColumnModel.Columns.Add(_col);
    
                    _n++;
                }
    
    ----->>  grid.AddTo(panel1);
    
                store.DataSource = dt;
                store.DataBind();
            }
    
            public Toolbar GetToolbar()
            {
                Toolbar toolBar;
                Ext.Net.Button btnAdd;
    
                #region Botão adiconar
                btnAdd = new Ext.Net.Button();
                btnAdd.Icon = Icon.Add;
                btnAdd.StandOut = true;
                btnAdd.DirectClick += Click_Event;
                #endregion
    
                toolBar = new Toolbar();
                toolBar.Items.Add(btnAdd);
    
                return toolBar;
            }
    
            protected void Click_Event(object sender, DirectEventArgs e)
            {
                //Some code;
            }
        </script>
    </head>
    <body>
        <form id="form1" runat="server">
        <ext:ResourceManager ID="ResourceManager1" runat="server">
        </ext:ResourceManager>
        <ext:Panel ID="panel1" runat="server"></ext:Panel>
        </form>
    </body>
    </html>

    Why this occurs?!
    Thanks!
    Last edited by Wellington Caetano; Apr 08, 2011 at 8:25 PM.

Similar Threads

  1. [CLOSED] Need a remove button for a dynamically created FileUpload control
    By wisdomchuck in forum 1.x Legacy Premium Help
    Replies: 6
    Last Post: May 22, 2012, 1:40 PM
  2. [CLOSED] Add button to dinamically created window toolbar
    By Pablo_Azevedo in forum 1.x Legacy Premium Help
    Replies: 9
    Last Post: Oct 13, 2011, 4:07 PM
  3. [CLOSED] [1.0] Dynamically created control problem
    By galeb in forum 1.x Legacy Premium Help
    Replies: 6
    Last Post: Aug 19, 2010, 7:16 AM
  4. Replies: 3
    Last Post: Jul 24, 2010, 4:31 PM
  5. Replies: 3
    Last Post: Jun 05, 2008, 11:31 PM

Tags for this Thread

Posting Permissions