- PR -

DataGridにDropDownListを使いたい

1
投稿者投稿内容
takeuchi
会議室デビュー日: 2003/03/13
投稿数: 4
投稿日時: 2003-03-13 15:44
初めてVB.NETを使い、Webフォーム上である明細の
表示兼更新部分を作成しています。

DataGridで、一部の列にDropDownListを組み込んで、
 @動的にItemを追加
 A初期表示するItemの設定
 B選択されたItemのIndexの取得
などが可能なのでしょうか?
ご存知の方がいらしたらお教えください。
よろしくお願いいたします。
なぬらに
会議室デビュー日: 2003/02/28
投稿数: 9
投稿日時: 2003-03-14 11:56
初めまして なぬと申します

2.初期表示するItemの設定について
テンプレートカラムを使用してDropDownListを宣言し
ListItemを追加すればいいかと思います。

コード:
<asp:TemplateColumn>
 <ItemTemplate>
  <asp:DropDownList id="DropDownList1" runat="server">
   <asp:ListItem Value="0">初期値</asp:ListItem>
  </asp:DropDownList>
 </ItemTemplate>
</asp:TemplateColumn>


1.動的にItemを追加
3.選択されたItemのIndexの取得について
※以下当方の環境がC#なので予想でVBチックに書いてます。ご了承下さい。(^^;
コード:
//コントロールの参照 ここでは1列目に置いた1行目の"DropDownList1"を参照
DataGrid1.Items(0).Cells(0).FindControl("DropDownList1")

//代入(要キャスト)
dim ddl1 as DropDownList
ddl1 = CType( DataGrid1.Items(0).Cells(0).FindControl("DropDownList1"), DropDownList)

//ListItemで追加する
//手動での追加はDataGridのItem(行)毎に処理を行う必要があります
dim item as ListItem
item = New ListItem("text","value")
ddl1.Items.Add(item)

//選択Indexの参照
ddl1.SelectedIndex
//選択Itemの参照
ddl1.SelectedItem
ddl1.SelectedItem.Text
ddl1.SelectedItem.Value



といった感じでしょうか?

連載
プログラミングASP.NET Webフォームにおけるデータ連結 Part3 DataGridコントロール
会議室
Live Demo: DataGridの編集時DropDownListから選択させるには
DataGrid内のDropDownListについて
takeuchi
会議室デビュー日: 2003/03/13
投稿数: 4
投稿日時: 2003-03-14 13:32
なぬさん、ありがとうございました。
これから対応してみます。
そばに経験者が誰もいないので大変助かりました。
1

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