2. 创建控件
对于程序员来说,用例子说话是最好的方式来提供解决方案,我将在页面上动态的放置一些标签(label)和文本框(textbox),这些文本框里头放置的是从dataset取到的数据,同时我把这些文本框放置到一个表格的相应单元格里,可以实现有序的放置,首先在页面添加一个table。然后根据需要创建不同的列数和行数,如下为动态创建这些文本框的代码:
Dim i As Integer For i = 0 To IntRowCount - 1 Dim r As TableRow = New TableRow() Dim c1 As TableCell = New TableCell() Dim myLabel1 As Label = New Label()
‘这里设置该label的ID,对于不同的label,必须设置成不同的ID,我这里设置成前缀lbl1加字段名的组合,例如lbl1xlmc等。
myLabel1.ID = "Lbl1" & Trim(OleDsField.Tables("Field").Rows(i).Item("column_name")).ToString() ‘下面的条件语句是为了判断数据库中在字段的值是否为空,根据条件赋予label不同的文本。
If OleDsField.Tables("Field").Rows(i).Item("column_title").GetType.ToString = "System.DBNull" Then myLabel1.Text = "" 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
(编辑:aniston)
|