”tableCC.Columns.Add(column2);“  只增加,不删除,当然会越来越多。
根据你的代码来看,这些列都是固定的,可以先初始化好,每次去查询的时候就不需要重新创建列,而只需要重新绑定数据源就行了。

解决方案 »

  1.   

    初始化的时候:
                dategirdview1.Columns[0].HeaderText = "名称";
                dategirdview1.Columns[1].HeaderText = "品牌";
                dategirdview1.Columns[2].HeaderText = "型号";
                dategirdview1.Columns[3].HeaderText = "编号";
                dategirdview1.Columns[4].HeaderText = "等级";
     
                dategirdview1.Columns[0].Width = 50;
                dategirdview1.Columns[1].Width = 50;
                dategirdview1.Columns[2].Width =120;
                dategirdview1.Columns[3].Width = 80;
                dategirdview1.Columns[4].Width = 20;
                
                DataGridViewCheckBoxColumn column2 = new DataGridViewCheckBoxColumn();
                column2.HeaderText = "允许";
                column2.ReadOnly = false;
                tableCC.Columns.Add(column2);
                tableCC.Columns[11].Width = 30;            每一次数据绑定的时候:
                this.dategirdview1.DataSource = "null";
                string sqlStr = "select Name,Brand,Type,PrivateNum,Level,from Info where spareType like'%'+@Type+'%'";
                DataTable dt = sqlHelper.ExecuteDT(cnn, sqlStr, new SqlParameter("@Type",txtType.Text));
                dategirdview1.DataSource = dt;            
      

  2.   

    tableCC.Columns.Add(column2); 会不断增加。
    可以判断列集合中是否包含该列,包含则不增加。