1

こんにちは、グリッド ビューを使用して複数行のレコードをデータベースに挿入しました。これは私のグリッドビューがどのように見えるかですここに画像の説明を入力

問題は、すべてのラジオ ボタンを選択できることです。行ごとに 1 つのラジオ ボタンのみを選択する必要があります。私の Web フォームは、ユーザーがラジオ ボタンで 2 つのテキスト ボックスから正しい回答を選択する必要がある方法で機能し、チェックした回答をデータベースに送信する必要があります。これは可能ですか?

aspx : `

             <asp:ButtonField Text="SingleClick" CommandName="SingleClick"
                    Visible="False" />

                    <asp:TemplateField HeaderText="Question">
                        <ItemTemplate>
                            <br />
                            <asp:TextBox ID="TextBox1" runat="server" TextMode="MultiLine"></asp:TextBox>
                        </ItemTemplate>
                    </asp:TemplateField>
                    <asp:TemplateField HeaderText="Answer">
                        <ItemTemplate>
                            <br />
                            <asp:TextBox ID="TextBox2" runat="server"></asp:TextBox>
                            <asp:RadioButton ID="RadioButton1" runat="server" />
                            <br />
                            <asp:TextBox ID="TextBox3" runat="server"></asp:TextBox>
                            <asp:RadioButton ID="RadioButton2" runat="server" />
                        </ItemTemplate>
                    </asp:TemplateField>
                    <asp:TemplateField ShowHeader="False">
                        <FooterTemplate>
                            <asp:Button ID="btnAdd" runat="server" Text="+" onclick="btnAdd_Click1" />
                        </FooterTemplate>

                    </asp:TemplateField>
                </Columns>
            </asp:GridView>
    </td>
</tr>`

コードビハインド:

  protected void RadioButton1_CheckedChanged(object sender, EventArgs e)
    {
        //Clear the existing selected row 
        foreach (GridViewRow oldrow in GridView1.Rows)
        {
            ((RadioButton)oldrow.FindControl("RadioButton1")).Checked = false;
        }

        //Set the new selected row
        RadioButton rb = (RadioButton)sender;
        GridViewRow row = (GridViewRow)rb.NamingContainer;
        ((RadioButton)row.FindControl("RadioButton1")).Checked = true;

    }
4

6 に答える 6

10

ASP.NET について話していると思います。ラジオボタンをまとめてみましたか?

これが例です。

<asp:RadioButton id="rBtn1" GroupName="Fruits"
         Text="Apple" runat="server"/>
<asp:RadioButton id="rBtn2" GroupName="Fruits"
         Text="Orange" runat="server"/>
<asp:RadioButton id="rBtn3" GroupName="Colors"
         Text="Blue" runat="server"/>
<asp:RadioButton id="rBtn4" GroupName="Colors"
         Text="Red" runat="server"/>

Apple を選択した場合、Orange は選択できません。Apple が選択されているときに Orange を選択すると、Apple は自動的に選択解除されます。ただし、Apple が選択されている場合、青をクリックしても、Apple は選択解除されません。

于 2013-05-30T06:45:14.127 に答える
0

私はあなたがこのように進むかもしれないと思います:-

protected void rbtnSelect_CheckedChanged(object sender, EventArgs e)
{
RadioButton selectButton = (RadioButton)sender;
GridViewRow gvrow = (GridViewRow)selectButton.Parent.Parent;
var radio = (RadioButton)gvRow.FindControl("rdo");// rdo is ID of your radio button:-
if(radio[0].id=selectButton.id)
radio[1].checked=false;
else if(radio[1].id=selectButton.id)
radio[0].checked=false;
}
于 2013-05-30T06:51:35.340 に答える
0

グループ名を設定するには、ページにスクリプトを追加するだけです。

$('input[type=radio]').each(function () {
    var array = $(this).attr('name').split('$');
    $(this).attr('name', array[array.length - 1]);
});

これにより、表示される名前が正しいグループ名に調整されます。

于 2013-11-20T15:04:36.907 に答える