2016-04-23 20 views
4

Ich verwende Radiobutton in meinem Grid View-Steuerelement und jetzt möchte ich dem Benutzer erlauben, nur einen Radiobutton in der Rasteransicht auszuwählen, aber ich kann das nicht tun.Unterhalb ist mein Code in design.please mir helfen.Wie kann man Radiobutton für Mehrfachauswahl verhindern?

<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> 

Antwort

4

unter Versuchen,

Ihre Radio-Button ändern, wie unten,

<asp:RadioButton ID="chkRow" GroupName='docid' runat="server" onclick = "RadioCheck(this);" /> 

unterhalb Javascript hinzufügen,

<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> 
+0

es funktioniert gut, wenn ich dieses Skript in meinem Design-Code hinzufügen. –

+0

Ich möchte diese Methode in jeder .js-Datei hinzufügen, die in meinem Projekt ist, wie es bei "../AllJavaScript/form1.js" –

+0

Also in diesem Fall im Skript statt '<% ​​= Docgrid.ClientID%> befindet ', müssen Sie die tatsächliche ID des Rasters verwenden, die in HTML generiert wird. –

0

hier können Sie Radiobuttonlist mit einem der Artikel chuse

<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> 
+0

können Sie es bitte für Gridcontrol tun und mir Beispiel geben, wie verwende ich Radiobutton-Liste in der Rasteransicht? –

0

alle Radio Put Tasten für eine Gruppe in einem Containerobjekt wie ein Panel oder GroupBox. Wie vorgeschlagen here.

Normalerweise akzeptiert ein Radiobutton standardmäßig nur eine Auswahl, wenn die Gruppe gruppiert ist. Wenn das Problem weiterhin besteht, können Sie eine boolesche Steuervariable (z. B. bool isAnySelected) verwenden und einen Listener für die Überprüfung Ihres Optionsfelds implementieren. Wenn eine von ihnen ausgewählt ist, suchen Sie nach der Variablen, wenn die Variable false die Variable true ist. Wenn die Variable bereits true ist, deaktivieren Sie das Optionsfeld.

0

this-

neuen try {@id = kk} sollten Mehrfachauswahl von Radio Button {@id = kk, Name = "grp"} neu zu verhindern.

+0

bitte tun Sie es in meinem Beispiel .... ich verstehe nicht, wie es mir helfen wird .. –

Verwandte Themen