我现在有一个DataSet(其中的数据已绑定显示到DataGirdView中),我在DataGirdView上执行“增加一行数据”“删除一行数据”“修改一行数据”后 在过滤时始终只会进入DataView.RowStateFilter中的DataViewRowState.CurrentRows,为什么不能进入其他的过滤?
关键代码如下:
DataView dv = new DataView();
dv.Table = ds.Tables[0]; (其中的ds即绑定显示到DataGirdView的DataSet)
switch (dv.RowStateFilter)
{
case DataViewRowState.Added:(从理解来看 执行增加新行操作 应该进入这里吧)
break;
case DataViewRowState.CurrentRows:(执行增 删 改 都会进入这里)
break;
case DataViewRowState.Deleted:(从理解来看 执行删除行操作 应该进入这里吧)
break;
case DataViewRowState.ModifiedCurrent:(从理解来看 执行修改行操作 应该进入这里吧)
break;
case DataViewRowState.ModifiedOriginal:
break;
case DataViewRowState.None:
break;
case DataViewRowState.OriginalRows:
break;
case DataViewRowState.Unchanged:
break;
default:
break;
}我想根据操作数据的类型不同(增 删 改)来分别用不同的SQL语句把改动后的数据存入数据库 望大家不吝赐教!! 在线等 急急急!!!
关键代码如下:
DataView dv = new DataView();
dv.Table = ds.Tables[0]; (其中的ds即绑定显示到DataGirdView的DataSet)
switch (dv.RowStateFilter)
{
case DataViewRowState.Added:(从理解来看 执行增加新行操作 应该进入这里吧)
break;
case DataViewRowState.CurrentRows:(执行增 删 改 都会进入这里)
break;
case DataViewRowState.Deleted:(从理解来看 执行删除行操作 应该进入这里吧)
break;
case DataViewRowState.ModifiedCurrent:(从理解来看 执行修改行操作 应该进入这里吧)
break;
case DataViewRowState.ModifiedOriginal:
break;
case DataViewRowState.None:
break;
case DataViewRowState.OriginalRows:
break;
case DataViewRowState.Unchanged:
break;
default:
break;
}我想根据操作数据的类型不同(增 删 改)来分别用不同的SQL语句把改动后的数据存入数据库 望大家不吝赐教!! 在线等 急急急!!!
一种状态值是RowState 值(行状态)
一种状态值是DataRowVersion 值(行版本)
除了Deleted 行没有 Current 行版本,其他都有Current 行版本。所以混合使用,会有优先级的问题