- - PR -
DataGridに動的にDropDownListを作成
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2004-04-02 14:32
WinXPで.Net FrameWork1.1とWebMatrixを使ってVBでASP開発をしています。
DataGridのTemplateColumnにDropDownListを入れたいのですが、その場合は普通、以下のようにすると思います。 Dim ddl As DropDownList ddl = CType(DataGrid1.Items(0).Cells(0).FindControl("DropDownList1"), DropDownList) この方法ではあらかじめ、DataGridにDropDownListを持ったTemplateColumnを用意しておかなければ ならないと理解していますが、まったく何の設定もされていないDataGridに対して 動的にDropDownListを持たせるにはどうすれば良いのでしょうか? ちなみに、DropDownListはItemTemplateに設定します。 よろしくお願いします。 [ メッセージ編集済み 編集者: カウンター 編集日時 2004-04-02 14:48 ] |
|
投稿日時: 2004-04-02 15:05
自己レスです。」
ちなみに、DataGrid1にダミーでDropDownListを持たせて不可視にして、以下のようにしたら Dim ddl As DropDownList = CType(dgParticipation.Items(0).Cells(0).FindControl("ddldami"), DropDownList) Dim Item As ListItem Item = New ListItem(0,"test") ddl.Items.Add(Item) '列の設定 PA_Column.HeaderText = "test" PA_Column.ItemTemplate = ddl 「インデックスが範囲を超えています。負でない値で、コレクションのサイズよりも小さくなければなりません」 というエラーが返ってきました。 一行目がエラーの原因の気もするのですが、ダミーDropDownListは1列目にあるのです。 原因の検討がつく方がいましたら、ご指摘ください。 |
|
投稿日時: 2004-04-02 16:06
>動的にDropDownListを持たせるにはどうすれば良いのでしょうか?
MSDN(またはGoogle)で検索しましょう。 http://www.microsoft.com/japan/msdn/vs/webapplication/vbtchCreatingWebServerControlTemplatesProgrammatically.asp >一行目がエラーの原因の気もするのですが、 エラー行を特定しましょう。 http://blogs.sqlpassj.org/masami/archive/2004/02/25/700.aspx |
1