![](/img/trans.png)
[英]Multiple radiobutton in DataGrid (WPF), data not set after changing selection
[英]how to prevent radiobutton for multiple selection?
我在我的網格視圖控件中使用單選按鈕,現在我想允許用戶在網格視圖中只選擇一個單選按鈕,但我無法做到這一點。下面是我在設計中的代碼。請幫助我。
<asp:GridView ID="Docgrid" HeaderStyle-BackColor="#3AC0F2" HeaderStyle-ForeColor="White"
runat="server" AutoGenerateColumns="false" BorderStyle="None" GridLines="None">
<Columns>
<asp:TemplateField>
<ItemTemplate>
<asp:RadioButton ID="chkRow" GroupName='docid' runat="server" />
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField DataField="Id" HeaderText="DocId" ItemStyle-Width="50" />
<asp:BoundField DataField="DocName" HeaderText="DocName" ItemStyle-Width="50" />
<asp:BoundField DataField="DocType" HeaderText="DocType" ItemStyle-Width="50" />
<asp:BoundField DataField="Size" HeaderText="Size" ItemStyle-Width="50" />
<asp:BoundField DataField="UploadedBy" HeaderText="UploadedBy" ItemStyle-Width="50" />
<asp:BoundField DataField="Status" HeaderText="Status" ItemStyle-Width="50" />
<asp:TemplateField HeaderText="UpdatedBy" ItemStyle-Width="50">
<ItemTemplate>
<asp:Label ID="UpdatedBy" runat="server" Text='<%# Eval("UpdatedBy") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
試試下面,
更改單選按鈕,如下所示,
<asp:RadioButton ID="chkRow" GroupName='docid' runat="server" onclick = "RadioCheck(this);" />
在javascript下面添加,
<script type = "text/javascript">
function RadioCheck(rb) {
var gv = document.getElementById("<%=Docgrid.ClientID%>");
var rbs = gv.getElementsByTagName("input");
var row = rb.parentNode.parentNode;
for (var i = 0; i < rbs.length; i++) {
if (rbs[i].type == "radio") {
if (rbs[i].checked && rbs[i] != rb) {
rbs[i].checked = false;
break;
}
}
}
}
</script>
在這里你可以使用Radiobuttonlist選擇其中一個項目
<asp:RadioButtonList ID="RadioButtonList1" runat="server">
<asp:ListItem>Option 1</asp:ListItem>
<asp:ListItem>Option 2</asp:ListItem>
<asp:ListItem>Option 3</asp:ListItem>
</asp:RadioButtonList>
將組中的所有單選按鈕放在容器對象(如Panel
或GroupBox
。 如此處所示 。
通常,無線電按鈕在其分組時僅默認接受一個選擇。 但是如果你仍然遇到問題,可以使用布爾控制變量(例如bool isAnySelected
)並為你的單選按鈕檢查實現一個監聽器。 選擇其中一個時,查找變量,如果變量為false
,則將變量false
true
。 如果變量已經為true
,請取消選中單選按鈕。
試試這個-
新的{@id = kk}應該是新的{@id = kk,Name =“grp”}以防止多個選擇單選按鈕。
解決此問題的最簡單方法是在所有單選按鈕的屬性窗口中將GroupName設置為任何名稱。 在我的情況下,我將GroupName設置為“ A ”。 將所有Radio Buttons屬性設置為相同的GroupName。 然后運行代碼:)
我希望這可能有所幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.