代码如下,我想如果update传来的值为true,我如何动态的生成一个TemplateField,高手指教       public void bind(IList list, ArrayList arrData, ArrayList arrName,bool update)
    {
        GridView1.DataSource = list;
        for (int i = 0; i < arrData.Count; i++)
        {            BoundField bound = new BoundField();
            bound.DataField = arrData[i].ToString();
            bound.HeaderText = arrName[i].ToString();
            GridView1.Columns.Add(bound);
            if (update == true)
            {
                //TemplateField temp = new TemplateField();
                //temp.ItemTemplate = (new BoundField()) as TemplateField;
                //GridView1.Columns.Add(temp);
            }   
        }
        GridView1.DataBind();
            
    }

解决方案 »

  1.   

    TemplateField gvTemplateField;
    gvTemplateField = new TemplateField();
    gvTemplateField.HeaderStyle.Width = 100;
    gvTemplateField.HeaderText = "aaa";
    GridView1.Columns.Add(gvTemplateField);
      

  2.   

       protected override void OnInit(EventArgs e)
            {            
                if (....................)
                {
                        GridView1.Columns.Insert(0, ItemTemplate );
                }
    }注意 OnInit事件 比Page_Load事件还早你后面根据update设置visable就可以了
      

  3.   

    这个比较麻烦请参考http://blog.csdn.net/cuike519/archive/2003/12/28/19331.aspx
      

  4.   

    TemplateField tf; 
    GridView1.Columns.Add(tf);