Access to a GridCheckboxColumn
本文关键字:GridCheckboxColumn to Access | 更新日期: 2023-09-27 18:26:40
我的网格中有一个GridCheckboxColumn,需要根据复选框是否选中来创建GridTemplateColumn。例如,
第1行,
如果复选框被选中,则GridTempleColumn标签显示"是",如果未选中复选框,则GridTempleColumn标签显示"否",如果复选框为NULL:则显示"N/A"。
总之,我在我的aspx页面中有这样的内容:
<telerik:GridCheckBoxColumn DataField="facturable" DataType="System.Boolean" HeaderText="facturable"
SortExpression="facturable" UniqueName="facturable">
</telerik:GridCheckBoxColumn>
<telerik:GridTemplateColumn HeaderText="Type de tickets"
UniqueName="typedestickets">
<ItemTemplate><asp:Label id="test" runat="server"></asp:Label></ItemTemplate>
</telerik:GridTemplateColumn>
我的试运行代码背后:(不工作)
protected void RadGrid1_DataBound(object sender, EventArgs e)
{
foreach (Telerik.Web.UI.GridDataItem dataItem in RadGrid1.MasterTableView.Items)
{
CheckBox chkDelete = (CheckBox)dataItem.FindControl("facturable");
Label label = (Label)dataItem.FindControl("test");
if (chkDelete.Checked == true) { label.Text = "MA"; }
}
}
提前感谢您的帮助
在访问控件之前检查"e.item"是否为GridDataItem。除了使用"OnItemDatabound"之外,我在正在处理的应用程序中执行类似的检查。
protected void grdSummary_OnItemDataBound(object sender, GridItemEventArgs e)
{
if (e.Item is GridDataItem)
{
// Access your controls here
}
}
CheckBox checkboxfacturable = (CheckBox)dataItem["facturable"].Controls[0];
Label label = (Label)dataItem["typedestickets"].Controls[0];
包括网格在内的大多数控件都可以绑定各种对象,而不仅仅是数据项。在使用OnItemDataBound
处理程序之前,您应该首先检查e.Item
的类型是否正确