DataGrid コントロールを使用してラジオ ボタンを追加する場合、RadioButton サーバー コントロールをテンプレートに直接追加すると、.Net のメカニズムにより、これらの RadioButton はクライアント上の同じグループに表示できません。現時点では、Radio タグを使用してこれを実現できます。
以下はHMTLページのコードです
<form id="Form1" Method="post" runat="server">
<コラム>
<アイテムテンプレート>
<input type="radio" name="rdo" <%# GetChecked(DataBinder.Eval(Container, "DataItem")) %> value='<%# DataBinder.Eval(Container, "DataItem") %>'>
<asp:Label runat="server" Text='<%# DataBinder.Eval(Container, "DataItem") %>' ID="Label1">
</asp:ラベル>
</アイテムテンプレート>
</asp:TemplateColumn>
</コラム>
</asp:datagrid>
<asp:Button id="btnOk" runat="server" Text="OK"></asp:Button>
以下は Page_Load
Dim arr As New ArrayList
のデータ バインディング コードです。
arr.Add("ニュース総合")
arr.Add("バラエティ番組")
arr.Add("映画")
arr.Add("教育")
arr.Add("ドラマ")
arr.Add("軍事")
arr.Add("スポーツ")
DataGrid1.DataSource = arr
DataGrid1.DataBind()
以下は、btnOk_Click で選択されている項目を取得するコードです。
Response.Write(Request.Form("rdo"))
以下は、バインド項目内のどの Radio が選択されているかを設定する関数です。
Public Function GetChecked(ByVal) str 文字列として) 文字列として
str = Request.Form("rdo") の場合
「チェック済み」を返す
それ以外
戻る ""
終了の場合
終了機能