foreach (DataRowView drv in dvRecieve)
{
dsChargeDetail.T_CO_FEEDTLRow row = drv.Row as dsChargeDetail.T_CO_FEEDTLRow; if (!row.IsIS_AUTO_ROWNull() && row.IS_AUTO_ROW == true)
row.Delete();
}
这段代码,当我循环到倒数第二次的时侯程序删掉一行,然后还剩下一行数据,但是最后剩下的这一条数据自动变用DELETE状态了,请教高人为什么会这样?
{
dsChargeDetail.T_CO_FEEDTLRow row = drv.Row as dsChargeDetail.T_CO_FEEDTLRow; if (!row.IsIS_AUTO_ROWNull() && row.IS_AUTO_ROW == true)
row.Delete();
}
这段代码,当我循环到倒数第二次的时侯程序删掉一行,然后还剩下一行数据,但是最后剩下的这一条数据自动变用DELETE状态了,请教高人为什么会这样?
试试循环完后 视图结束编辑状态 焦点放到其它控件上
为何要循环删除行,直接清空不行吗?dvRecieve.Table.Clear();
for(int i=dvRecieve.Length-1;i>=0;--i)
{
DataRowView drv = dvRecieve[i];dsChargeDetail.T_CO_FEEDTLRow row = drv.Row as dsChargeDetail.T_CO_FEEDTLRow;if (!row.IsIS_AUTO_ROWNull() && row.IS_AUTO_ROW == true)
row.Delete();
}
这样就OK了。