1

我正在使用通过 ObjectDataSouce 填充的 Telerik RadGrid。此对象返回一系列布尔字段

<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 文本属性仅返回(我希望如此)。

我已经厌倦了将发件人作为复选框以这种方式进行,但我的实现似乎不起作用。

var cb = (GridCheckBoxColumn)sender;

是否有人对如何从 Checkbox 列中获取值有任何提示?

干杯

4

1 回答 1

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;

    }
}
于 2012-05-25T06:40:24.227 回答