日期:2014-05-20  浏览次数:20824 次

datagridview与dataset绑定的奇怪问题
SqlConnection   con   =   new   SqlConnection(@ "Server=(local);Integrated   Security=True;Database=Message ");
sda   =   new   SqlDataAdapter( "select   *   from   Customers ",   con);
SqlCommandBuilder   buider   =   new   SqlCommandBuilder(sda);
sda.Fill(ds,   "Customers ");
dataGridView1.datasource=ds;
我是这样绑定datagridview的,我发现datagridview和dataset绑定后,对dataset操作datagridview也跟着变化,可是对datagridview操作,dataset就不变,请问是不是这样?
但是我手动修改dataGridView单元格内容,然后更新数据库还可以,可是我要是通过语句
dataGridView1.Rows[0].Cells[0].Value   =   "111 ";
然后在Update就不管用了,这是怎么回事,用语句感觉改变dataGridView1后,dataset不随着改变

------解决方案--------------------
如果是要通过代码修改直接操作数据源(DataSet)
------解决方案--------------------
因为你的DataSet是与界面的DataGridView进行的绑定...

只有你对DataGridView进行编辑时,才能捕获到变化,DataSet中的数据才会改变..

而如果通过代码来更改,更改不能被捕获,DataSet中的数据也因此不会变化...

个人意见,仅供参考..
------解决方案--------------------
DataViewRowState是只读的,好像没办法通过代码直接改