datagirdview的有关问题。查询系统列会无限的增加。肿么办
datagirdview的问题。。。查询系统列会无限的增加。。。肿么办?
各位大神们,代码如上。。。第一次单机查询。。ok正常,但是第二次开始每次查询,列会越来越多,不知是添加的checkbox列,而是所有的列都会无限的添加。。。
------解决方案--------------------
初始化的时候:
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;
------解决方案--------------------
tableCC.Columns.Add(column2); 会不断增加。
可以判断列集合中是否包含该列,包含则不增加。
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;
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;
各位大神们,代码如上。。。第一次单机查询。。ok正常,但是第二次开始每次查询,列会越来越多,不知是添加的checkbox列,而是所有的列都会无限的添加。。。
------解决方案--------------------
初始化的时候:
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;
------解决方案--------------------
tableCC.Columns.Add(column2); 会不断增加。
可以判断列集合中是否包含该列,包含则不增加。