ds.Rows.RemoveAt(this.BindingContext[ds].Position);
DataTable bb = new DataTable();
this.BindingContext[ds].EndCurrentEdit();
bb = ds.GetChanges();
if (bb!=null)
{
if (MessageBox.Show(this,"您修改过数据确定?","注",MessageBoxButtons.YesNo,MessageBoxIcon.Error) == DialogResult.Yes)
{
OleDbCommandBuilder cc =new OleDbCommandBuilder(da);
da.Update(ds);
ds.AcceptChanges();
}
else
{
ds.RejectChanges();
}
DataTable bb = new DataTable();
this.BindingContext[ds].EndCurrentEdit();
bb = ds.GetChanges();
if (bb!=null)
{
if (MessageBox.Show(this,"您修改过数据确定?","注",MessageBoxButtons.YesNo,MessageBoxIcon.Error) == DialogResult.Yes)
{
OleDbCommandBuilder cc =new OleDbCommandBuilder(da);
da.Update(ds);
ds.AcceptChanges();
}
else
{
ds.RejectChanges();
}
GetChanges();是什么?
绑定grid然后
删除行数据ds.Rows.RemoveAt(this.BindingContext[ds].Position);
保存
DataTable bb = new DataTable();
this.BindingContext[ds].EndCurrentEdit();
bb = ds.GetChanges();
如果你用的是Remove()方法而不是Delete()方法(状态变为RowStatus.Deleted)的话,
可能认为没有改动过.
前面加上:
ds.AcceptChanges();
看是否可以..如果不行,试着改成这样..ds.Rows[this.BindingContext[ds].Position].Delete();再试试...