注册 登录
编程论坛 C# 论坛

datagridview 响应按钮事件 对列数据进行更新

plaodj 发布于 2019-01-03 23:22, 2885 次点击
这是调试时的图
只有本站会员才能查看附件,请 登录

载入图片后   会获得图片文件夹 文件名信息

现在想载入图片后   点击 文件名 那个radiobutton  那么 datagridview 的水印列  的内容  就变成 前一列的内容

请帮忙给出解决办法

我直接
程序代码:
if (this.dataGridView1.RowCount>0)
                {
                    MessageBox.Show(this.dataGridView1.RowCount.ToString());                    
                    for (int i = 0; i < this.dataGridView1.RowCount; i++)
                    {                        
                        dataGridView1.Rows[i].Cells["Column4"].Value = dataGridView1.Rows[i].Cells["Column3"].Value.ToString();                        
                    }                    
                }


就会出错  提示什么实例化     不是很懂什么实例化
有没有更好的办法  请尽可能给出详细代码  谢谢
2 回复
#2
oldSlave2019-01-07 09:25
if (this.dataGridView1.RowCount>0)            //没错
                {
                    MessageBox.Show(this.dataGridView1.RowCount.ToString());              //没错                  
                    for (int i = 0; i < this.dataGridView1.RowCount; i++)                    //问题在于RowCount的值是不是等于界面上的行数。你设置段点看看。
                    {                        
                        dataGridView1.Rows[i].Cells["Column4"].Value = dataGridView1.Rows[i].Cells["Column3"].Value.ToString();                        
                    }                    
                }
//我试了一下,如果界面有4行,RowCount的值为4,则代码没有问题。运行正常。
//如果界面有4行,RowCount的值为5,则代码有问题。此事dataGridView1.Rows[4].Cells["Column3"]为null,对null进行Value.ToSting()将出现实例化异常。
//为什么界面有4行,RowCount的值会是5,原因:将dataGridView1设置为“启用添加”,就会自动追加一行空行。4+1=5;
//当然,你只提供了部分代码,所以你设置断点看看吧。也有其他因素可能出现你说的情况。
#3
oldSlave2019-01-07 09:32
回复 2楼 oldSlave
其他情况如Column1 与 Column2 数据类型不同,会报格式不正确异常。比如一个是int类型,一个是string类型。就会出错。等等。仅供参考。
1