我正在使用通过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不起作用,text属性只返回(我期望)。
我已经厌倦了将发件人作为复选框投射到那个方向,但我的实现似乎不起作用。
var cb = (GridCheckBoxColumn)sender;
有没有人知道如何从Checkbox列中获取值?
干杯
答案 0 :(得分: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;
}
}