你最好先去学ASP.NET的控件编程(注意:不是用户控件,是单纯继承Control的那种)
等你学到模板控件的编写时,也会了。

解决方案 »

  1.   

    http://www.dotnetbips.com/displayarticle.aspx?id=84
    http://www.dotnetbips.com/displayarticle.aspx?id=85
    Creating DataGrid Templated Columns Dynamically 看这个应该有所帮助
      

  2.   

    一个典型的方法是,在父控件的OnInit里,为子控件添加属性.
    对于DataGrid,可以直接派生一个DataGridColumn的子类,重写InitializeCell就可以了。(最后当然是DataGridx.Columns.Add(MyCustomColumn));
    (TemplateColumn是在InitializeCell时调用ItemTemplate.InstantiateIn,或HeaderTemplate...)
    对于DataList,就需要ITemplate的实现了。
    但是这多没有意思啊。ITemplate写起来很多代码。用aspx的tag形式就简单多了。
      

  3.   

    void Page_Load(Object sender, EventArgs e)
    {
    DataGrid datg = new DataGrid();
    datg.AutoGenerateColumns = false;
    //生成榜定列
    BoundColumn mybc = new BoundColumn();
    mybc.DataField = "..";
    mybc.HeaderText = "..";
    datg.Columns.Add(mybc);
    //生成链接
    HyperLinkColumn myhc = new HyperLinkColumn();
    myhc.DataTextField = "..";
    myhc.DataTextFormatString = "{0}";
    myhc.DataNavigateUrlField = "..";
    myhc.DataNavigateUrlFormatString = "{0}";
    myhc.HeaderText = "..";
    datg.Columns.Add(myhc);
    datg.DataSource =...;
    datg.DataBind();
    Controls.Add(datg);
    }
    //其他的一样的
      

  4.   

    比较简单的办法是在itemdatabound事件里面清除原列的控件,然后添加自己的控件以及数据就可以了。
      

  5.   

    to Inyoureyes(最深的蓝)
    还有关于模板列如何建,模板列里面的各种控件如何加载?