2013-10-06 70 views
0

我有一個遊戲列表。每場比賽都有一個客隊和一個主隊。我想讓用戶選擇客隊或主隊。所以我轉換到模板字段並放入單選按鈕。但顯然這不正確。我想,我需要一個單選按鈕列表。因爲只用單選按鈕,他們可以選擇兩者。這可能與一個GridView?我看到的大多數教程只有一個單選按鈕,所以這不是問題。這裏是我的GridView:Gridvew中的單選按鈕

<asp:GridView ID="GridView2" runat="server" AutoGenerateColumns="False" DataKeyNames="id_game" DataSourceID="sqlPopulateGames"> 
     <Columns> 
      <asp:BoundField DataField="id_game" HeaderText="id_game" InsertVisible="False" ReadOnly="True" SortExpression="id_game" /> 
      <asp:TemplateField HeaderText="visitor" SortExpression="visitor"> 
       <EditItemTemplate> 
        <asp:TextBox ID="TextBox1" runat="server" Text='<%# Bind("visitor") %>'></asp:TextBox> 
       </EditItemTemplate> 
       <ItemTemplate> 
        <br /> 
        <asp:RadioButton ID="RadioButton1" runat="server" Text='<%# Eval("visitor") %>' /> 
       </ItemTemplate> 
      </asp:TemplateField> 
      <asp:TemplateField HeaderText="home" SortExpression="home"> 
       <EditItemTemplate> 
        <asp:TextBox ID="TextBox2" runat="server" Text='<%# Bind("home") %>'></asp:TextBox> 
       </EditItemTemplate> 
       <ItemTemplate> 
        <asp:RadioButton ID="RadioButton2" runat="server" Text='<%# Eval("home") %>' /> 
       </ItemTemplate> 
      </asp:TemplateField> 
      <asp:BoundField DataField="game_time" HeaderText="game_time" SortExpression="game_time" /> 
     </Columns> 
    </asp:GridView> 

回答

2

因爲只有單選按鈕,就可以選擇兩個。

如果這些單選按鈕分組在標記中,則不應該。單選按鈕被設計爲互斥,但他們需要知道哪些其他單選按鈕是獨佔的。 ASP.NET中的The GroupName property用於設置此項。

事情是這樣的:

<asp:RadioButton GroupName="SomeGroup" ID="RadioButton1" runat="server" Text='<%# Eval("visitor") %>' /> 

有了那一套,這將是任何其他RadioButton設置爲"SomeGroup"GroupName相互排斥。

由於這是發生在重複控制之內,所以您可能需要爲每次迭代分別設置一個組。所以,你可以將它綁定到後臺數據一定價值:

<asp:RadioButton GroupName='<%# Eval("someValue") %>' ID="RadioButton1" runat="server" Text='<%# Eval("visitor") %>' /> 

如果someValue是結果中的每個記錄獨特的,那麼你會最終有一個分組對相互排斥的單選按鈕的每一行。

+0

yikes,我想我應該看看radiobuttons的屬性。謝謝,這工作 – dwarf