本帖最后由 liangzhai 于 2011-11-26 10:29:23 编辑

解决方案 »

  1.   

     CheckBoxField b = new CheckBoxField();
      b.DataField = tbPurview.Columns[P71_Std].ToString();
      string m = tbPurview.Columns[P71_Std].ToString().Substring(1, 8);
      DataTable dt = EkPoint.PGetpGroupNameByID(m);
      string str = dt.Rows[0]["pGroupName"].ToString();
      b.HeaderText = str;
      b.ItemStyle.HorizontalAlign = HorizontalAlign.Center;
      gvPurview.Columns.Add(b);不要放在IsPostBack 里面要每次加载都添加
      

  2.   

    我dropdownlist每变化一次,gridview通过RemoveAt把前面绑定的那列删除,然后再Add。
      

  3.   

    开始进入页面,没有出现问题,就是dropdownlist多次回传后(IsPostBack里面代码不会执行的),出现第一个静态模板列丢失。
      

  4.   

    我是将动态列创建SelectedIndexChanged里面,如有不妥,应该怎么样呢
      

  5.   

    你那叫什么“静态模板列”?你不是有些什么Rows[][]=xxxxxxx,有写什么.Columns.Add、.Columns.Remove之类的代码嘛。
      

  6.   

    生命周期的缘故,如果你要处理PostData 及相应事件,那么最迟也要在Page_load中创建控件
      

  7.   

     protected void Page_Init(object sender, EventArgs e)
      {     BindPurviewInfo();
      
      }