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

解决方案 »

  1.   

    查看:
    http://localhost/QuickStart/aspplus/default.aspx?url=/quickstart/aspplus/doc/webdatabinding.aspx
      

  2.   

    参考:
    <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>
      

  3.   

    补充:
    Function BindList()返回一个DataSet、DataTable、数组等