GridViewにDropDownを設定する。
GridViewには、普通のテーブルの値をバインド
DropDownには、マスタの値をバインド
通常は、DropDownに
<asp:DropDownList SelectedValue='<%# bind("CD") %>'
としてやれば、テーブルの値(CD)を選択して表示してくれる。
ただ、テーブルのCDがマスタのCDに存在しない場合、
エラーが起こる。
そのため、SelectedValue='<%# bind("CD") %>' は記述せず、
.vbで、SelectedValueを指定する。
Gridviewの「RowDataBound」
’グリッドからドロップダウンを探す
If e.Row.FindControl("DropDownList1") IsNot Nothing Then
ddl = DirectCast(e.Row.FindControl("DropDownList1"), DropDownList)
'ドロップダウンの値に、通常のテーブルのCDがあるか探す
If ddl.Items.FindByValue(e.Row.DataItem("CD")) IsNot Nothing Then
'あったら、指定する
ddl.SelectedValue = e.Row.DataItem("CD")
End If
End If
PR