设置了一个GridView控件和一个Button控件。
每次点击一次Button,GridView就从数据库中将数据读出并显示。
而当我第2次点击后,列就重复显示(也就是增加了一倍的列)
原因:我将添加列放在的点击Button事件里。 BoundField boundField = new BoundField();
        boundField.HeaderText = HeaderText;
        boundField.DataField = DataField;
        GridView1.Columns.Add(boundField);可是如果我将上面代码放在Page_Load事件的if(!IsPostBack)里面。
这个问题是没有了,但是当改变绑定于GridView上的DataSet改变时,GridView则不会显示新条件的值
如何解决呢?

解决方案 »

  1.   

    BoundField boundField = new BoundField();
            boundField.HeaderText = HeaderText;
            boundField.DataField = DataField;
            GridView1.Columns.Clear();
            GridView1.Columns.Add(boundField);
      

  2.   

    我感觉应该是点击显示数据库数据吧?绑定数据之前先GridView清空....
      

  3.   

    我来解释下一楼的意思吧!就是每次添加前将列全部删除.用到的方法是GridView1.Columns.Clear();
    分都给一楼了!再次表示感谢!
      

  4.   

    如果列是固定的话,可以在初次加载时时绑定if(!IsPostBack)
    {
    BindColume();//添加列
    }BindColume()
    {
    //添加列
    }Button_Click()
    {
    //绑定数据
    }
      

  5.   

    WebForm 一般对于动态 编辑 的控件,在进行再次数据绑定时,要记得先Clear控件的项。以避免发生想 LZ 这样的问题。不过 在 WinForm 里面好像就不用 Clear 了