<TABLE cellSpacing="0" cellPadding="0" width="100%" border="0" >
<TR style ="CURSOR: hand" onclick="SetHidden('div<%# DataBinder.Eval(Container.DataItem, "OrderID") %>')">
<TD bgColor="#FF6600">
<B>订单号: <%# DataBinder.Eval(Container.DataItem, "OrderID") %></B>
</TD>
</TR>
<TR>
<TD align="right" colspan="2">
<B>顾客号: <%# DataBinder.Eval(Container.DataItem, "CustomID") %></B>
</TD>
</TR>
</TABLE>请问以上的模板列怎么动态创建啊?

解决方案 »

  1.   

    动态创建模板列
    必须实现ITemplate接口
      

  2.   

    /// <summary>
    /// 实现ITemplate接口,用来打印
    /// </summary>
    public class ColumnTemplate : ITemplate
    {
    public void InstantiateIn(Control container)
    {
    LinkButton lb = new LinkButton();
    lb.Text = "打印";
    lb.CommandName = "Print";
    container.Controls.Add(lb);
    }
    }
      

  3.   

    TemplateColumn  tc = new TemplateColumn();
    tc.ItemTemplate = new ColumnTemplate();
    tc.HeaderText = "打印";
    dc.HeaderStyle.Wrap = false;
    tc.HeaderStyle.HorizontalAlign = HorizontalAlign.Center;
    tc.ItemStyle.HorizontalAlign = HorizontalAlign.Center;
    tc.HeaderStyle.Width = 30;
    vardg.Columns.AddAt(4,tc);
      

  4.   

    我就是想知道在ITemplate接口里怎么加入table
      

  5.   

    /// <summary>
    /// 实现ITemplate接口,用来打印
    /// </summary>
    public class ColumnTemplate : ITemplate
    {
    public void InstantiateIn(Control container)
    {
    System.Web.UI.HtmlControls.HtmlTable httable = new System.Web.UI.HtmlControls.HtmlTable();
    ........... container.Controls.Add(httable );
    }
    }
      

  6.   

    先谢谢楼上,还有一个问题,我想在动态模板里显示ds的数据,相当于<%# DataBinder.Eval(Container.DataItem, "OrderID") %>怎么实现呢?
      

  7.   

    参考http://community.csdn.net/Expert/topic/3510/3510277.xml?temp=.5845148
      

  8.   

    http://blog.csdn.net/goody9807/articles/138820.aspx