首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

Winform中的DataGridView怎么动态添加新行?始终不对劲

2012-05-20 
Winform中的DataGridView如何动态添加新行?始终不对劲啊[size16px][/size]前提:我已经动态添加了N列,比如

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 = "监听"; 

热点排行