Webフォームにて Aドロップダウンリストで作成したいテーブルの行数を指定し、 Aボタンをクリックする事によりAテーブルを作成し、また、 Bドロップダウンリストで作成したいテーブルの行数を指定し、 Bボタンをクリックする事によりBテーブルを作成したいと考えています。 (列数は固定) 各テーブルは Dim i,j As Integer Dim intCells As Integer = 2 ' セルの数 Dim intRows As Integer = 10 ' 行の数 Dim conTextBox(20) As System.Web.UI.WebControls.TextBox ' TextBoxの数 '各セルはテキストボックスにて構成されています。 For j = 0 To intRows - 1 Dim tbRow As New TableRow For i = 0 To intCells - 1 ' セルの作成 Dim tbCell As New TableCell
' コントロール(TextBox)の作成 conTextBox(j) = New System.Web.UI.WebControls.TextBox
カゴです。
またもや動的に作ったテーブルの扱いに悩んでいます。
どなたかご存知でしたら、ご教授願います。
Webフォームにて
Aドロップダウンリストで作成したいテーブルの行数を指定し、
Aボタンをクリックする事によりAテーブルを作成し、また、
Bドロップダウンリストで作成したいテーブルの行数を指定し、
Bボタンをクリックする事によりBテーブルを作成したいと考えています。
(列数は固定)
各テーブルは
Dim i,j As Integer
Dim intCells As Integer = 2 ' セルの数
Dim intRows As Integer = 10 ' 行の数
Dim conTextBox(20) As System.Web.UI.WebControls.TextBox ' TextBoxの数
'各セルはテキストボックスにて構成されています。
For j = 0 To intRows - 1
Dim tbRow As New TableRow
For i = 0 To intCells - 1
' セルの作成
Dim tbCell As New TableCell
' コントロール(TextBox)の作成
conTextBox(j) = New System.Web.UI.WebControls.TextBox
Me.FindControl("Form1").Controls.Add(conTextBox(j))
tbCell.Controls.Add(conTextBox(j))
tbRow.Cells.Add(tbCell)
Next
Table1.Rows.Add(tbRow)
というように動的に作成します。
Aテーブル作成後にBテーブルを作成してもAテーブルは画面上に
そのまま残っていて欲しいのですが、最初にAテーブルを作成した後に、
Bボタンをクリックすると
「同じ ID '_ctl0' を持つ複数のコントロールが見つかりました。
FindControl を使うには、コントロールに一意の ID を指定する必要があります。 」
というエラーになってしまいます。
Bボタン以外のポストバック機能を持ったボタンを
クリックしても同じ現象になります。
動的にテーブル内のセルを作るときにそのセルのIDが自動的に作成され、
Aテーブルを作成するときに使ったIDとBテーブルを作成しようとした時のIDが
重なってしまい上記のエラーになるように思われますが、
このような事象についての回避策、調査方法をご存知でしたら是非教えて下さい。
よろしくお願いします。