Code Bye

问一下有关dataGridView的CellValueChanged事件

本人希望在修改完datagridview单元格里的数据后,数据自动保存到SQL数据库。本人写好了代码,假如通过一个按钮来实现,就可以正确保存,但假如把那段代码改到dataGridView的CellValueChanged事件下,就会报“未将对象引用设置到对象的实例。”的错误,问一下这是为什么?
下面是那段代码
DataTable dt = ds.Tables[“data”]; //创建一个DataTable
sda.FillSchema(dt, SchemaType.Mapped); //把表结构加载到data表中
DataRow dr = dt.Rows.Find(dataGridView1.SelectedCells[0].Value.ToString());      //创建一个DataRow
//设置DataRow中的值
dr[“日期”] = dataGridView1.SelectedCells[1].Value.ToString();
dr[“收支金额”] = dataGridView1.SelectedCells[2].Value.ToString();
dr[“用途”] = dataGridView1.SelectedCells[3].Value.ToString();
//实例化一个SqlCommandBuilder
SqlCommandBuilder cmdbuider = new SqlCommandBuilder(sda);
//调用其Update方法将DataTable更新到数据库中
sda.Update(dt);*/
解决方案:10分
DataTable dt=new DataTable();
dt=ds.Tables[“data”];
试试?
解决方案:10分
加上判断,这个事件在你绑定完数据前就可能触发了
if(ds == null) return;
解决方案:20分

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明问一下有关dataGridView的CellValueChanged事件