データソースが DataTable に設定されている Gridview があります。これは、必要なデータがデータベースに保持されていないために行われました。このようにして 2 つの列が生成されます。ユーザーがコメントなどを入力できるように、テキスト ボックスを持つ 3 番目の列が必要です。
私のコードは
Dim dt As DataTable = New DataTable
Dim row As DataRow
' Generate Columns
dt.Columns.Add("Col One")
dt.Columns.Add("Col Two")
dt.Columns.Add("Textbox Col")
' Populate rows with required data
row = dt.NewRow
row.Item("Col One") = SomeData
row.Item("Col Two") = SecondaryData
row.Item("Textbox Col") = InsertTextbox("data")
' Add row to DataTable
dt.Rows.Add(row)
gvData.DataSource = dt
gvData.DataBind()
上記のコードは、テキストボックス (InsertTextbox) を挿入する場合を除いて、私が必要とすることを正確に実行します。テキストボックスのコードは
Private Function InsertTextbox(ByVal TBText As String) As TextBox
Dim tbox As TextBox = New TextBox
With tbox
.Width = 100
.Height = 25
.Text = TextboxText
.ID = TextboxText
End With
gvData.Controls.Add(txtbox)
Return txtbox
End Function
上記のコードは、グリッドビュー セルにテキスト ボックスを挿入できるようにする方法を確認するために数回変更されています。
現在、必要に応じてデータを取得していますが、Textbox Col は System.Web.UI.WebControls.TextBox として表示されます。.Text を追加すると、テキスト (この場合はデータ) が表示されますが、ラベル形式で表示されるため、その中には何も入力できません。
この方法でテキストボックスを挿入する方法を教えてもらえますか?
ありがとう