Winform中的DataGridView如何动态添加新行?始终不对劲啊
[size=16px][/size]前提:我已经动态添加了N列,比如下面是添加一列
DataGridViewTextBoxColumn Column5 = new DataGridViewTextBoxColumn();
Column5.Name = "ModulationCode";
Column5.HeaderText = "调制方式ID";
this.DGV_Monitor.Columns.Add(Column5);
this.DGV_Monitor.Columns[4].Visible = false;
然后想在新行中添加数据,想通过正统的方式,而非字符串数组(这个可以成功添加),可就是不行,大家看看代码就明白我的意思
DataGridViewRow DGVRow = new DataGridViewRow();
DGVRow.Cells["TheName"].Value = "1";
DGVRow.Cells["Frequency"].Value = "2";
DGVRow.Cells["Monitor"].Value = "监听";
DGVRow.Cells["ModulationCode"].Value = "4";
this.DGV_Minitor.Rows.Add(DGVRow);
这样是不行的
还没有完
如果用这种方法
DataGridViewRow DGVRow = this.DGV_Monitor.Rows[this.DGV_Monitor.NewRowIndex];
DGVRow.Cells["TheName"].Value = "1";
DGVRow.Cells["Frequency"].Value = "2";
DGVRow.Cells["Monitor"].Value = "监听";
DGVRow.Cells["ModulationCode"].Value = "4";
必须要求this.DGV_Monitor.AllowUserToAddRows = false; 这个属性是true,而我不行再窗体加载后产生一个空行,因为删除的时候行索引有问题或者觉得不好看。
各位高人有没有好的方法?
就是窗体加载时只显示列头,不显示行(就是指空行),然后再点击按钮后,添加一个新行,不想用DataSource的方式绑定数据源。万分感激!!!
------解决方案--------------------
C# code
int index=this.dataGridView1.Rows.Add();
this.dataGridView1.Rows[index].Cells["TheName"].Value = "1";
this.dataGridView1.Rows[index].Cells["Frequency"].Value = "2";
this.dataGridView1.Rows[index].Cells["Monitor"].Value = "监听";