如何解决使用 C# 如何从 Telerik GridCheckBoxColumn 获取值
我有一个带有 GridCheckBoxColumn 的 Telerik RADGrid,如果复选框值为 true,我希望整行背景颜色为绿色。作为我的第一步,我尝试使用下面的代码获取复选框列的值。
protected void RadGrid1_ItemDataBound(object sender,Telerik.Web.UI.GridItemEventArgs e)
{
foreach (GridDataItem item in RadGrid1.MasterTableView.Items)
{
CheckBox chkBox = item.FindControl("chkPriority") as CheckBox;
if (chkBox != null && chkBox.Checked)
{
string id_ = item["p_id"].Text;
}
}
}
但是这段代码没有找到任何行,CheckBox 的值始终为空。我怎样才能获得这些值
我修改了代码,现在可以获取复选框的值。我仍然不知道如何设置单元格或行的背景颜色。这是修改后的代码。
protected void RadGrid1_ItemDataBound(object sender,Telerik.Web.UI.GridItemEventArgs e)
{
foreach (GridDataItem item in RadGrid1.MasterTableView.Items)
{
CheckBox chkBox = item["chkPriority"].Controls[0] as CheckBox;
if (chkBox.Checked == true)
{
GridDataItem dataItem = e.Item as GridDataItem;
}
}
}
解决方法
很高兴您知道如何访问复选框的值。 要设置整行的颜色,我建议创建一个定义颜色(以及您想要设置的任何其他样式)的 CSS 类。然后根据需要将该类应用于您的行。
protected void RadGrid1_ItemDataBound(object sender,GridItemEventArgs e)
{
if (e.Item is GridDataItem)
{
GridDataItem item = e.Item as GridDataItem;
CheckBox chkbox = item["chkPriority"].Controls[0] as CheckBox;
if (chkbox.Checked == true)
{
item.CssClass += "MySpecialRow";
}
}
}
那么CSS类可能定义为:
.MySpecialRow
{
background-color: green;
color: white;
font-weight: bold;
}
这是一个指向 Telerik 文档的链接,该文档也描述了这一点,并给出了如何修改单个列的示例。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。