C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト


(過去ログ 11 を表示中)
■1916 / )  テーブルのtdタグの中にRadioButtonを埋め込む
□投稿者/ かのかの (1回)-(2007/03/08(Thu) 18:43:50)

分類:[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' のイベントではありません。
というエラーが帰ってきました。

どうやったら正常にできるかいろいろ調べたのですが、探し方が悪いのか
発見できませんでした。
ご存知の方がいらっしゃいましたらよろしくお願いします。

返信 編集キー/


管理者用

- Child Tree -