- PR -

DataGridのDataBindされた値をChackBoxListの選択に反映したい

1
投稿者投稿内容
ほりかず
常連さん
会議室デビュー日: 2003/01/29
投稿数: 26
投稿日時: 2003-02-03 11:28
いつもお世話になっています。

DataGridのテンプレート列にチェックボックスリストを作成して、
データバインドされたデータセットの複数項目の値から、
チェックボックスリストの初期選択をしたいのですが、
どの様にコードを記述したら良いのでしょうか?

宜しくお願い致します。
_________________
NothingButXMLInfoSet
大ベテラン
会議室デビュー日: 2002/07/16
投稿数: 116
投稿日時: 2003-02-07 23:40
こんな感じでしょうか。
コード:
Public Class WebForm2 : Inherits Page
    Protected WithEvents DataGrid1 As DataGrid
    Dim Shippers As String()
    Private Sub Page_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        Dim ShippersBuf As New ArrayList
        Dim cn As New SqlConnection("server=.;uid=sa;pwd=;database=Northwind")
        Dim cmd As New SqlCommand("select CompanyName from shippers order by shipperid")
        cmd.Connection = cn
        cn.Open()
        Dim rd As SqlDataReader = cmd.ExecuteReader()
        While (rd.Read())
            ShippersBuf.Add(rd(0))
        End While
        rd.Close()
        cn.Close()
        Shippers = ShippersBuf.ToArray(GetType(String))
        Dim ad As New SqlDataAdapter("select OrderID, EmployeeID, ShippedDate, ShipVia FROM Orders", cn)
        Dim ds As New DataSet
        ad.Fill(ds, "Orders")
        DataGrid1.DataSource = ds
        DataGrid1.DataMember = "Orders"
        DataGrid1.DataBind()
    End Sub
    Private Sub DataGrid1_ItemDataBound(sender As Object, e As DataGridItemEventArgs) Handles DataGrid1.ItemDataBound
        If e.Item.ItemType = ListItemType.Item Then
            Dim list As RadioButtonList
            list = CType(e.Item.Cells(3).Controls(1), RadioButtonList)
            list.DataSource = Shippers
            list.DataBind()
            list.SelectedIndex = CInt(e.Item.DataItem(3)) - 1
        End If
    End Sub
End Class



コード:
<%@ Page Language="vb" AutoEventWireup="false" Codebehind="WebForm2.aspx.vb" Inherits="WebApplication2.WebForm2"%>
<HTML>
  <body>
    <form id="Form1" method="post" runat="server">
      <asp:DataGrid id="DataGrid1" runat="server" AutoGenerateColumns="False">
        <Columns>
          <asp:BoundColumn DataField="OrderID"></asp:BoundColumn>
          <asp:BoundColumn DataField="EmployeeID"></asp:BoundColumn>
          <asp:BoundColumn DataField="ShippedDate"></asp:BoundColumn>
          <asp:TemplateColumn>
            <ItemTemplate>
              <asp:RadioButtonList id="RadioButtonList1" runat="server"></asp:RadioButtonList>
            </ItemTemplate>
          </asp:TemplateColumn>
        </Columns>
      </asp:DataGrid>
    </form>
  </body>
</HTML>

ほりかず
常連さん
会議室デビュー日: 2003/01/29
投稿数: 26
投稿日時: 2003-02-11 09:15
回答ありがとうございました。
早速、試してみます。

今後とも宜しくお願いします。
1

スキルアップ/キャリアアップ(JOB@IT)