使用 C# 如何从 Telerik GridCheckBoxColumn 获取值
Using C# How can I get the Value from a 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 class 来定义颜色(以及您要设置的任何其他样式)。然后根据需要将 class 应用于您的行。
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 class 可能定义为:
.MySpecialRow
{
background-color: green;
color: white;
font-weight: bold;
}
这是一个 link 的 Telerik 文档,它也描述了这一点,并给出了如何修改单个列的示例。
我有一个带有 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 class 来定义颜色(以及您要设置的任何其他样式)。然后根据需要将 class 应用于您的行。
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 class 可能定义为:
.MySpecialRow
{
background-color: green;
color: white;
font-weight: bold;
}
这是一个 link 的 Telerik 文档,它也描述了这一点,并给出了如何修改单个列的示例。