|
分類:[VB.NET (ASP.NET)]
こんにちは。かのかのと申します。
ASP+.Net VBでプログラムを組んでいるのですが、リピートタグで
かつTD(セル)の中にラジオボタンを埋め込むたいと思っています。
<表示としてはこんなかんじです>
※・はラジオボタンにしたいです。(1個しか選択できない)
■はボタンです。選択ボタンをクリックしたときに選択されている
ラジオボタンの値を取得してテーブルに内容を確認しに行きたいです。
=======================
|選択| 名前 | 所属 | 性別 |
=======================
| ・ |かのかの | 大学生 | 女 |
=======================
| ・ |たろう | 中学生 | 男 |
=======================
| ・ |次郎 | 高校生 | 男 |
=======================
■選択 ■戻る
列数はデータベースから引っ張ってくるのでテーブル全体をリピートで囲い、
trタグの中身をItemTemplateでくくっていけばよいのでは!
と思ったのですが、ラジオボタンが正常に表示されません。
☆ASP側
<asp:repeater id="rptList" runat="server">
<HeaderTemplate>
<table border="1" width="600" cellpadding="1" cellspacing="0">
<tr>
<td align =center width="50">選択</td>
<td align =center width="150">名前</td>
<td align =center width="100">所属</td>
<td align =center width="100">性別</td>
</tr>
</HeaderTemplate>
<ItemTemplate>
<tr>
<td class="STANDARD_C">
<asp:RadioButtonList id="optList" runat="server" >
<asp:ListItem Value ='<%# DataBinder.Eval(Container.DataItem, "strUserID") %>'></asp:ListItem>
</asp:RadioButtonList>
</td>
<td class="STANDARD_L">
<%# DataBinder.Eval(Container.DataItem, "strName") %>
</td>
<td>
<%# DataBinder.Eval(Container.DataItem, "strBelong") %>
</td>
<td>
<%# DataBinder.Eval(Container.DataItem, "strSex") %>
</td>
</tr>
</ItemTemplate>
<FooterTemplate>
</table>
</FooterTemplate>
</asp:repeater >
☆VB側のロードイベントに記述したソース
Dim values As New ArrayList
values.Add(New PositionData("00001", "かのかの", "大学生", "女"))
values.Add(New PositionData("00002", "たろう", "中学生", "男"))
values.Add(New PositionData("00003", "次郎", "高校生", "男"))
rptList.DataSource = values
rptList.DataBind()
☆PositionDataのなかみ
Public Class PositionData
Private s_strUserID As String
Private s_strName As String
Private s_strBelong As String
Private s_strSex As String
Public Sub New(ByVal newStrUserID As String, ByVal newStrName As String, _
ByVal newStrBelong As String, ByVal newStrSex As String)
Me.s_strUserID = newStrUserID
Me.s_strName = newStrName
Me.s_strBelong = newStrBelong
Me.s_strSex = newstrSex
End Sub
Public ReadOnly Property strUserID() As String
Get
Return s_strUserID
End Get
End Property
Public ReadOnly Property strName() As String
Get
Return s_strName
End Get
End Property
Public ReadOnly Property strBelong() As String
Get
Return s_strBelong
End Get
End Property
Public ReadOnly Property strSex() As String
Get
Return s_strSex
End Get
End Property
End Class
として実行したところ
BC30676: 'DataBinding' は 'System.Web.UI.WebControls.ListItem' のイベントではありません。
というエラーが帰ってきました。
どうやったら正常にできるかいろいろ調べたのですが、探し方が悪いのか
発見できませんでした。
ご存知の方がいらっしゃいましたらよろしくお願いします。
|