早上好。
我有以下情况,我有一个radgrid,在里面,我有一个包含复选框的模板列:
<telerik:GridTemplateColumn UniqueName="TemplateColumn" HeaderText="Display Information" >
<ItemTemplate>
<asp:Panel ID="Panel1" runat="server">
<asp:CheckBox ID="CheckBox1" runat="server" AutoPostBack="true" OnCheckedChanged="CheckedChanged" />
</asp:Panel>
</ItemTemplate>
</telerik:GridTemplateColumn>
检查后,会触发以下事件,以简单的方式更改数据项的样式:
protected void CheckedChanged(object sender, EventArgs e)
{
{
var chkBox = (sender as CheckBox);
var myPanel = chkBox.Parent as Panel;
var dataItem = myPanel.NamingContainer as GridDataItem;
var cell = dataItem["Id"].Text;
if (chkBox.Checked)
{
dataItem["Id"].Style["color"] = "orange";
dataItem["Desc"].Style["color"] = "orange";
}
else
{
dataItem["Id"].Style["color"] = "black";
dataItem["Desc"].Style["color"] = "black";
}
}
}
这可以按预期工作并完成工作。
但是,我真的只希望用户能够一次选择一个复选框。
因此,如何确保删除之前的任何“支票”或完全停止多次检查?
非常感谢任何帮助或建议。
答案 0 :(得分:0)
首先,为什么不使用radion按钮,然后给所有单选按钮指定相同的NAME标签。这将它们“组合”在一起,一次只能选择一个。
编辑: 如果必须有复选框,则另外一个选项就是在后面的代码或JavaScript中的事件中清除它们。
干杯, 斯蒂芬