当前位置:编程学习 > C#/ASP.NET >>

如何手动添加DataGridViewRow到DataGridView

已知有一个dataGridView1实例,已设置的两个列分别为: cols1,cols2;
我实现如下功能:

 DataGridViewRow r = new DataGridViewRow();
 r.Cells["cols1"].Value="aaaaa";
 r.Cells["cols2"].Value="bbbbb";
 dataGridView1.Rows.Add(r);

编译时报错:“未能找到列名为cols1、cols2的列” --------------------编程问答-------------------- 补充一下:我是在vs2005下开发, --------------------编程问答-------------------- DataGridViewRow r = dataGridView1.NewRow();

--------------------编程问答--------------------  int t = this.dataGridView1.Rows.Add();
  this.dataGridView1.Rows[t].Cells["cols1"].Value="aaaaa"; 
--------------------编程问答--------------------
引用 2 楼 JeffChung 的回复:
DataGridViewRow r = dataGridView1.NewRow(); 

不存在.NewRow()这个方法? --------------------编程问答--------------------
引用 3 楼 h_w_king 的回复:
int t = this.dataGridView1.Rows.Add(); 
  this.dataGridView1.Rows[t].Cells["cols1"].Value="aaaaa"; 
--------------------编程问答-------------------- 请各位指点,谢谢! --------------------编程问答-------------------- 帮顶 --------------------编程问答-------------------- 请各位指点! --------------------编程问答-------------------- DataGridViewRow dgr = new DataGridViewRow();
                       dgr.CreateCells(dgvQuatoSetting);//dgvQuatoSetting为grdiview控件的name
                       
                        
                        dgr.Cells[0].Value=leftName;
                        dgr.Cells[1].Value = rightName; --------------------编程问答-------------------- 搂主的问题原因是:
下面创建行的这句代码:
DataGridViewRow r = new DataGridViewRow(); 
这个时候,仅仅是创建了一个DataGridViewRow 对象,但是还没有添加到DataGridView里面去
所以这个时候r还是没有任何列的,然后如果设置它的单元格值:
r.Cells["cols1"].Value="aaaaa"; 
r.Cells["cols2"].Value="bbbbb"; 
就会出异常了。

搂主应该这样做:
int index = dataGridView1.Rows.Add(); 
DataGridViewRow row = dataGridView1.Rows[index];
row.Cells["cols1"].Value="aaaaa"; 
row.Cells["cols2"].Value="bbbbb"; 
这样就没问题了。

后面两句,搂主这样写效率会更高些:
row.Cells[0].Value="aaaaa"; 
row.Cells[1].Value="bbbbb"; 
--------------------编程问答--------------------

dataGridViewSelectedAddress.Rows.Add("aaaaa","bbbbb");//有4种参数,这应该第一种吧~

这样写就不用考虑列名了,当然你必须保证前两列是对应好的~ --------------------编程问答-------------------- 就是楼上那样的!! --------------------编程问答-------------------- 接分 --------------------编程问答-------------------- 求助,vc++做像QQ宠物那样,透明不规则flash demo程序
谢谢了 --------------------编程问答-------------------- 因为你没有指定DataGridViewRow的列集合
方法一:DataRow myRow=dataGridView1.rows[i];

row.Cells["cols1"].Value="aaaaa"; 
row.Cells["cols2"].Value="bbbbb"; 


方法一:
也可以现在数据集中添加然后绑定到dataGridView1中,这样功能更强大
DataTable myTable=dataSet.Tables[0];
DataRow myRow=myTable.NewRow();
myRow.Cells["cols1"].Value="aaaaa"; 
myRow.Cells["cols2"].Value="bbbbb"; 
补充:.NET技术 ,  C#
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,