For i = 0 To tbl.Columns.Count - 1
tCol = New TemplateColumn
tCol.HeaderText = tbl.Columns(i).ColumnName
Select Case i
Case 0
tCol.ItemTemplate = New CTemplateColumn(tbl.Columns(i).ColumnName, 70, CTemplateColumn.COLUMN_TYPE.ComboBox)
Case 2, 3, 4
tCol.ItemTemplate = New CTemplateColumn(tbl.Columns(i).ColumnName, 70, CTemplateColumn.COLUMN_TYPE.TextBox)
Case 1
tCol.ItemTemplate = New CTemplateColumn(tbl.Columns(i).ColumnName, 150, CTemplateColumn.COLUMN_TYPE.Label)
Case Else
tCol.ItemTemplate = New CTemplateColumn(tbl.Columns(i).ColumnName, 50, CTemplateColumn.COLUMN_TYPE.Label)
End Select
If i = 8 Then tCol.Visible = False
Me.Columns.Add(tCol)
Next
tCol = New TemplateColumn
tCol.HeaderText = tbl.Columns(i).ColumnName
Select Case i
Case 0
tCol.ItemTemplate = New CTemplateColumn(tbl.Columns(i).ColumnName, 70, CTemplateColumn.COLUMN_TYPE.ComboBox)
Case 2, 3, 4
tCol.ItemTemplate = New CTemplateColumn(tbl.Columns(i).ColumnName, 70, CTemplateColumn.COLUMN_TYPE.TextBox)
Case 1
tCol.ItemTemplate = New CTemplateColumn(tbl.Columns(i).ColumnName, 150, CTemplateColumn.COLUMN_TYPE.Label)
Case Else
tCol.ItemTemplate = New CTemplateColumn(tbl.Columns(i).ColumnName, 50, CTemplateColumn.COLUMN_TYPE.Label)
End Select
If i = 8 Then tCol.Visible = False
Me.Columns.Add(tCol)
Next
http://localhost/QuickStart/aspplus/default.aspx?url=/quickstart/aspplus/doc/webdatabinding.aspx
<asp:TemplateColumn HeaderText="部门">
<ItemTemplate>
<%# Container.DataItem("部门") %>
</ItemTemplate>
<EditItemTemplate>
<asp:dropdownlist ID="BM" DataSource="<%# BindList() %>" DataTextField="部门" DataValueField="部门号" runat="server">
</asp:dropdownlist>
<asp:RequiredFieldValidator ControlToValidate="BM" Display="Dynamic" Runat="server" ID="Requiredfieldvalidator3">*</asp:RequiredFieldValidator>
</EditItemTemplate>
</asp:TemplateColumn>
Function BindList()返回一个DataSet、DataTable、数组等