TemplateField tf = new TemplateField();
        tf.HeaderTemplate = ??? //这里该怎么写??我要在里边放个控件       
        tf.ItemTemplate = ???//想在这里放控件 怎么写?
        GridView1.Columns.Add(tf);
        GridView1.DataBind();
在网上找了些代码似乎很复杂,还要创建一个类,如果要创建类的话我那控件的事件就没法做了。
试过用委托也不行,可能是我写的不行吧。有这样的例子吗,寻求个例子看看,谢谢

解决方案 »

  1.   

    需要自定义类 实现 ITemplate 接口的
      

  2.   

    直接可以加的吧。
    你在编辑列选项里---- 添加--TemplateField 就 可以了吧。
    编辑它在 就在编辑模板里 就可以了,
    不知道是不是我理解错了
      

  3.   

     <asp:TemplateField>  模板列
                    <HeaderTemplate> 头
                        修改信息
                    </HeaderTemplate>
                    <ItemTemplate>
                        <a href="update.aspx?id=<%#Eval("ID") %>">修改</a> 添加控件
                    </ItemTemplate>
    </asp:TemplateField>
      

  4.   

    类似这样:
    TableCell tc = new TableCell();
    e.Row.Cells.Add(tc);
    TextBox tb = new TextBox();
    tb.ID = "idname";
    tc.Controls.Add(tb);
      

  5.   

    public class GridViewTemplate : ITemplate
         {         private DataControlRowType templateType;
             private string columnName;
            public GridViewTemplate(DataControlRowType type, string colname)
             {
                templateType = type;
                columnName = colname;
              }
           public void InstantiateIn(System.Web.UI.Control container)
           {
                 switch (templateType)
                 {
     
                     case DataControlRowType.Header:
     
                         Literal lc = new Literal();
     
                         lc.Text = columnName;                    container.Controls.Add(lc);
     
                        break;
     
                     case DataControlRowType.DataRow:
     
                         DropDownList drr = new DropDownList();
                         drr.ID = "dropdown";
                         drr.AppendDataBoundItems = true;
                         drr.Items.Add(new ListItem("-----请选择------", ""));
                         container.Controls.Add(drr);
                         break;
                     default:
                         break;
               }
             }
     
        }
    参考
      

  6.   

    http://blog.csdn.net/Sandy945/archive/2009/07/31/4397142.aspx
      

  7.   

    之前写的VB 的列子
    http://topic.csdn.net/u/20090715/10/cbd72e15-5d01-49c7-9df5-d36b273e2896.htmlGridView动态添加模板列http://blog.csdn.net/Sandy945/archive/2009/07/31/4397142.aspx
      

  8.   

    GridView动态添加模板列 (VB.NET 版)
    http://blog.csdn.net/Sandy945/archive/2009/07/31/4397215.aspx