2011-12-13 3 views
1

私はコードの背後に設定しようとしているグリッドを持っています。これまでのところすべてがスムーズに進行していましたが、 私はitemcommandイベントまたはそのイベントのイベントを設定するときに、コマンドをクリックするか、イベントを引き起こす何かをすると何も起こりません。だから私は私のアイテムコマンドで私の宣言に間違って何をしているのだろうかと思っていた。 あなたは以下の私のコード見つける:プログラムで項目コマンドイベントを設定します

private void createRadGrid() 
    { 
     //create radgrid 
     RadGrid rg = new RadGrid(); 
     rg.ID = "RadGridView"; 

     //setting the datasource and itemcommand event handler. 
     rg.DataSourceID = "MachineDataSet"; 
     rg.ItemCommand += new GridCommandEventHandler(RadGridView_ItemCommand); 

     rg.Width = 862; 
     rg.CellSpacing = 2; 
     rg.CellPadding = 4; 
     rg.BorderWidth = 3; 
     rg.BackColor = System.Drawing.Color.Transparent; 
     rg.BorderColor = System.Drawing.Color.DarkGray; 
     rg.ForeColor = System.Drawing.Color.Black; 
     rg.ItemStyle.HorizontalAlign = HorizontalAlign.Center; 
     rg.HeaderStyle.HorizontalAlign = HorizontalAlign.Center; 
     rg.BorderStyle = BorderStyle.Ridge; 
     rg.ShowStatusBar = true; 

     rg.AllowPaging = true; 
     rg.PageSize = 5; 
     rg.PagerStyle.Mode = GridPagerMode.NextPrevAndNumeric; 
     rg.AutoGenerateColumns = false; 

     rg.MasterTableView.PageSize = 5; 
     rg.MasterTableView.DataKeyNames = new string[] { "ID" }; 
     rg.MasterTableView.ClientDataKeyNames = new string[] { "ID" }; 
     rg.MasterTableView.AutoGenerateColumns = false; 

     rg.ClientSettings.Resizing.AllowColumnResize = true; 
     rg.ClientSettings.Resizing.EnableRealTimeResize = true; 
     rg.ClientSettings.Resizing.ResizeGridOnColumnResize = true; 

     GridBoundColumn boundColumn = new GridBoundColumn(); 
     boundColumn.DataField = "ID"; 
     boundColumn.HeaderText = "ID"; 
     boundColumn.UniqueName = "MachineID"; 
     boundColumn.Visible = false; 
     rg.MasterTableView.Columns.Add(boundColumn); 

     GridBoundColumn boundColumn1 = new GridBoundColumn(); 
     boundColumn1.DataField = "SiteName"; 
     boundColumn1.HeaderText ="Site Name"; 
     boundColumn1.Resizable = true; 
     boundColumn1.ReadOnly = true; 
     rg.MasterTableView.Columns.Add(boundColumn1); 

     GridBoundColumn boundColumn2 = new GridBoundColumn(); 
     boundColumn2.DataField = "Name"; 
     boundColumn2.HeaderText = "Machine Name"; 
     boundColumn2.Resizable = true; 
     boundColumn2.ReadOnly = true; 
     rg.MasterTableView.Columns.Add(boundColumn2); 

     GridBoundColumn boundColumn3 = new GridBoundColumn(); 
     boundColumn3.DataField = "MachineType"; 
     boundColumn3.HeaderText = "Machine Type"; 
     boundColumn3.Resizable = true; 
     boundColumn3.ReadOnly = true; 
     rg.MasterTableView.Columns.Add(boundColumn3); 

     GridBoundColumn boundColumn4 = new GridBoundColumn(); 
     boundColumn4.DataField = "MachineModel"; 
     boundColumn4.HeaderText = "Machine Model"; 
     boundColumn4.Resizable = true; 
     boundColumn4.ReadOnly = true; 
     rg.MasterTableView.Columns.Add(boundColumn4); 

     GridButtonColumn buttonColumn = new GridButtonColumn(); 
     buttonColumn.ButtonType = GridButtonColumnType.PushButton; 
     buttonColumn.CommandName = "AssignNewValues"; 
     buttonColumn.Resizable = true; 
     buttonColumn.Text = "Assign New Values"; 
     rg.MasterTableView.Columns.Add(buttonColumn); 

     PlaceHolder_RadGridView.Controls.Add(rg); 
    } 

問題領域は、このライン

rg.ItemCommand += new GridCommandEventHandler(RadGridView_ItemCommand); 

すべてのヘルプや提案が非常に高く評価されている内にあるように見えます。右この行の後に

PlaceHolder_RadGridView.Controls.Add(rg); 

答えて

2

page_initまたはをPage_LoadイベントのいずれかでcreateRadGrid()を配置してみます。後にイベントを設定している場合は、それが発射されない理由になる可能性があります。

これは何かの助けになると思います。

乾杯。

+0

それは私が間違った場所で初期化されたトリックでした – James213

+0

非常に一般的なダイナミックコントロールを扱うときは、記事:http://msdn.microsoft.com/en-us/library/ms178472.aspx、非常に理解してくれましたページのライフサイクルのどの段階で何をすべきか乾杯 –

0

は、この行を移動してみてください

RadGrid rg = new RadGrid(); 
rg.ID = "RadGridView"; 

そして、それは違いを作るかどうかを確認します。

+0

これを試してみましたが、何も変わっていない/起こった、応答ありがとう – James213

+0

OK、どこでcreateRadGrid()を呼び出していますか?どのような場合には? PreInitまたはInitである必要があります。 –

+0

(!Page.IsPostBack)のPage_load()イベントで実行していましたが、今はこのステートメントの外で試しています。 – James213

関連する問題