> Else myLabel1.Text = Trim(OleDsField.Tables("Field").Rows(i).Item("column_title")) End If
c1.Controls.Add(myLabel1) r.Cells.Add(c1) Dim c2 As TableCell = New TableCell() Dim mytextbox As TextBox = New TextBox() mytextbox.ID = "Txt" & Trim(OleDsField.Tables("Field").Rows(i).Item("column_name")).ToString() If OleDsResult.Tables("Result").Rows(0).Item(i).GetType.ToString = "System.DBNull" Then mytextbox.Text = "" Else mytextbox.Text = Trim(OleDsResult.Tables("Result").Rows(0).Item(i)) End If
If Trim(OleDsField.Tables("Field").Rows(i).Item("column_enable")) = "是" Then mytextbox.Enabled = True Else mytextbox.Enabled = False End If
c2.Controls.Add(mytextbox) r.Cells.Add(c2) Table3.Rows.Add(r) Next
这样就成功地添加了两列到表里,至于行数由变量IntRowCount决定,其中IntRowCount为取数据库时得到的记录的行数
3. 使用动态创建的控件
使用这些控件时,首先必须要知道这些控件的ID,对于上文所说的这些控件,由于ID名称不定,使用时必须也要根据条件来使用。比如我要找到相应的文本框的ID,就用以下代码可以实现:
Dim txt As TextBox txt = Me.FindControl("txt" & OleDsField.Tables("Field").Rows(i).Item("column_name"))
这样就找到了要使用的文本框的这个控件,然后就可以使用相应功能。
4. 小结
使用动态创建控件时,难点在于怎么来操作这些动态创建的控件。本文给出了代码,本文例子在.net 2002+Windows 2000下调试通过。
上一页 [1] [2] |