我将数据绑定到gridview,如下所示。在这里,我需要为每个组一次选择1个radion按钮。如何在gridview中实现这个目标
答案 0 :(得分:1)
尝试使用单选按钮的name
属性
或者,您可以设置单选按钮的GroupName="group"
属性
参考文献
how to use radio buttons in grid view in asp.net
如上面的教程所示
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False"
DataKeyNames="AuthId">
<Columns>
<asp:TemplateField ShowHeader="false">
<ItemTemplate>
<asp:RadioButton ID="rdbauthid" runat="server"
onclick="javascript:CheckOtherIsCheckedByGVID(this);" />
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField HeaderText="AUTHOR NAME" DataField="AuthName" />
<asp:BoundField HeaderText="AUTHOR LOCATION" DataField="AuthLocation" />
</Columns>
</asp:GridView>
并创建一个java脚本函数,如下所示
<script type="text/javascript">
function CheckOtherIsCheckedByGVID(spanChk) {
var IsChecked = spanChk.checked;
if (IsChecked) {
spanChk.parentElement.parentElement.style.backgroundColor = '#228b22';
spanChk.parentElement.parentElement.style.color = 'white';
}
var CurrentRdbID = spanChk.id;
var Chk = spanChk;
Parent = document.getElementById("<%=GridView1.ClientID%>");
var items = Parent.getElementsByTagName('input');
for (i = 0; i < items.length; i++) {
if (items[i].id != CurrentRdbID && items[i].type == "radio") {
if (items[i].checked) {
items[i].checked = false;
items[i].parentElement.parentElement.style.backgroundColor = 'white'
items[i].parentElement.parentElement.style.color = 'black';
}
}
}
}
</script>