我想通过datagrid直接改数据,然后通过DataRowState.Modified判断并返回数据库。但我在datagrid界面上改了后,用回车确认,怎么用下列代码判断不了: DataTable dt=(DataTable)dataGrid1.DataSource;
for (int i = 0; i < dt.Rows.Count; i++)
{
DataRowState rowState=new DataRowState();
rowState=dt.Rows[i].RowState;
if (rowState==DataRowState.Modified)
{
MessageBox.Show(i.ToString()+"has been modified!");
}
}到底如何把编辑后的数据可以被识别?是否要用dataview来做桥梁?请给个方法,谢谢

解决方案 »

  1.   

    我看到有这么一句话:“DataGrid支持对DataGrid所显示的DataTable的编辑修改,只要DataGrid的ReadOnly属性为False,就可以在DataGrid中直接修改单元中的内容,修改完后数据将直接反应到此DataGrid对应的那个DataTable的单元。”
    这里的“直接反应到”是什么意思?用不用acceptchanges来确认?
      

  2.   

    dt.eventColumnChanged += new eventColumnChange(table_change)
    再把你上面的代码加进去..
      

  3.   

    eventColumnChanged 哪里有这个事件啊
      

  4.   

    加上 datagrid 的acceptchange
      

  5.   

    dataGrid有个的CurrentCellChanged事件
      

  6.   

    DataGrid与DataSet绑定在DataGrid上作修改 然后用DataSet.HasChanges()判断  是否Adapter.Update