Creating Templates Programmatically in the DataGrid Controlhttp://msdn.microsoft.com/library/default.asp?url=/library/en-us/vbcon/html/vbtskcreatingtemplatesprogrammaticallyindatagridcontrol.aspCreating Web Server Control Templates Dynamicallyhttp://msdn.microsoft.com/library/default.asp?url=/library/en-us/vbcon/html/vbtskcreatingwebservercontroltemplatesdynamically.asp

解决方案 »

  1.   

    internal class CheckBoxItem : ITemplate
    {

    void ITemplate.InstantiateIn(Control container)
    {
    CheckBox box = new CheckBox();
     

      
    container.Controls.Add(box);
    }
    }在LAOD事件里做,
    if(!ispostback)
    {
         TemplateColumn sun = new TemplateColumn();
         CheckBoxItem box = new CheckBoxItem();
    sun.EditItemTemplate = box;
    DataGrid1.Columns.Add(sun);
    }
      

  2.   

    <asp:TemplateColumn HeaderText="油品" ItemStyle-HorizontalAlign="Center" FooterStyle-HorizontalAlign="Center">
    <ItemTemplate>
    <asp:DropDownList id="Dropdownlist2" runat="server" Enabled=False DataSource="<%# OilTypeDs%>" DataTextField="TypeName" DataValueField="OilTypeID">
    </asp:DropDownList>
    </ItemTemplate>
    <FooterTemplate>
    <asp:DropDownList id="Dropdownlist1" runat="server" AutoPostBack=True DataSource="<%# OilTypeDs%>" DataTextField="TypeName" DataValueField="OilTypeID">
    </asp:DropDownList>
    </FooterTemplate>
    <EditItemTemplate>
    <asp:DropDownList id="Dropdownlist3" runat="server" AutoPostBack=True DataSource="<%# OilTypeDs%>" DataTextField="TypeName" DataValueField="OilTypeID">
    </asp:DropDownList>
    </EditItemTemplate>
    </asp:TemplateColumn>
      

  3.   

    to  acewang(**^o^**) 
    看不懂,能写成如下形式吗,好看一些,谢了
                  HyperLinkColumn NumberColumn2 = new HyperLinkColumn();
    NumberColumn2.HeaderText="详细情况";
    NumberColumn2.Text  ="详细情况";
    NumberColumn2.Target ="_blank";
    NumberColumn2.ItemStyle.Font.Size =10;
    NumberColumn2.DataNavigateUrlField ="strXsUrl";
    DataGrid1.Columns.AddAt(3, NumberColumn2);
      

  4.   

    to houjianxun(三千弱水)(独取一瓢清泉) 
    运行后只是添加了一列,但这列中并没有控件,不知道为何
    谢谢
      

  5.   

    internal class checkbox1:ITemplate
    {
    ListItemType templateType;
    string columnName; public checkbox1(ListItemType type,string colname)
    {
    templateType=type;
    columnName=colname;
    }

    void ITemplate.InstantiateIn(Control container)
    {
    switch(templateType)
    { case ListItemType.Item:

    CheckBox tb=new CheckBox();
    tb.Text="选择";
    tb.ID="111";
    container.Controls.Add(tb);
    break;
    case ListItemType.EditItem:
    CheckBox tb1=new CheckBox();
    tb1.Text="选择";
    tb1.ID="111";
    container.Controls.Add(tb1);
    break; }
    }
      

  6.   

    TemplateColumn kk=new TemplateColumn();
    checkbox1 box3=new checkbox1(ListItemType.Item,"kkk");
    kk.ItemTemplate=box3;
    kk.ItemStyle.Width=100;
    kk.HeaderText="选择";
      

  7.   

    this.DataGrid1.Columns.Add(kk);
    this.DataGrid1.DataBind();
      

  8.   

    看看这个例子
    http://xml.sz.luohuedu.net/xml/ShowDetail.asp?id=B131BF6E-B35B-413C-9DCE-E755242FA795应该是你需要的!