2012-05-24 29 views
1

我正在使用通過ObjectDataSouce填充的telerik RadGrid。這個對象返回一系列布爾字段如何通過webform代碼隱藏檢索GridCheckBox列值

<telerik:GridCheckBoxColumn DataField="IsSysAdmin" DataType="System.Boolean"FilterControlAltText="Filter IsSysAdmin column" HeaderText="Sys Admin" 
SortExpression="IsSysAdmin" UniqueName="IsSysAdmin"> 

一旦我選擇一個專欄中,我想能夠導出頁面的其他部分使用的布爾值。

我可以通過以下操作在選定行中的值,得到:

protected void gv_roleList_Command(object sender, GridCommandEventArgs e) 
     { 
      if (e.CommandName == "EditItem") 
      { 
       GridDataItem item = (GridDataItem)e.Item; 
       item.Selected = true; 
       txt_RoleName.Text = item["RoleName"].Text; 

...編輯爲簡潔

通過調用專欄中,我能得到的數值然而,這不起作用對於GridCheckBoxColumn,text屬性只返回 (我預料中的)。

我已經厭倦了將發件人作爲複選框以此方式進行,但我的實現似乎不起作用。

var cb = (GridCheckBoxColumn)sender; 

有沒有人有任何提示如何去導出從複選框列中的值?

乾杯

回答

2

請檢查下面的代碼片段。

protected void RadGrid1_ItemCommand(object sender, GridCommandEventArgs e) 
{ 
    if (e.CommandName == "EditItem") 
    { 
     // if current row is in normal mode 
     GridDataItem item = e.Item as GridDataItem; 
     CheckBox chk = item["IsSysAdmin"].Controls[0] as CheckBox; 

     // If your row is in edit mode 
     GridEditableItem eitem = e.Item as GridEditableItem; 
     CheckBox echk = eitem["IsSysAdmin"].Controls[0] as CheckBox; 

    } 
} 
+0

謝謝你完美的作品我也發現Telerik的論壇中類似的文章,有興趣的http://www.telerik.com/community/forums/aspnet-ajax/grid/checkbox-value.aspx – rlcrews