DataTable 中,如何引用已删除的行?就是状态为 Deleted的行

sarcophile 2005-09-28 08:37:07
rt
...全文
213 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
sarcophile 2005-09-28
  • 打赏
  • 举报
回复
原来如此,多谢
saucer 2005-09-28
  • 打赏
  • 举报
回复
DataView dv = new DataView(YourTable,null, null, DataViewRowState.Deleted);
for (int i=0; i < dv.Count;i++)
Console.WriteLine("id={0}, name={1}",dv[i]["id"],dv[i]["name"]);
sarcophile 2005-09-28
  • 打赏
  • 举报
回复
这也和 dazhu2(边城浪子【倚天不出,谁与争锋】) 说的是一码事嘛
chinasdp 2005-09-28
  • 打赏
  • 举报
回复
DataTable dt = new DataTable();
dt.Columns.Add("test", typeof(string));
dt.Rows.Add(new string[]{"a"});
dt.Rows.Add(new string[]{"b"});
dt.AcceptChanges();
dt.Rows[1].Delete();
dt.RejectChanges();// 回滚自上次调用AcceptChanges以来对该表进行的所有更改。
MessageBox.Show(dt.Rows[1][0].ToString());
dt.Rows[1].Delete();
仅是个例子,不适用。
你可以在修改后调用AcceptChanges();这样RejectChange就可以回滚到修改后的状态。
sarcophile 2005-09-28
  • 打赏
  • 举报
回复
现在情况是:用户有可能使用一个表,修改其中的一行,然后将其删除。我希望使用用户修改后的数据,如果使用RejectChange,用户所做的修改无法反映
xwqjamky 2005-09-28
  • 打赏
  • 举报
回复
学习
dazhu2 2005-09-28
  • 打赏
  • 举报
回复
mytable1.Rows[5].Delete();
mytable1.Rows[6].Delete();
DataTable mytable2=mytable1.GetChanges(DataRowState.Deleted);
mytable2.RejectChanges();///回滚到删除之前状态


this.dataGrid1.DataSource=mytable2;
sarcophile 2005-09-28
  • 打赏
  • 举报
回复
saucer(思归) :
这样的行虽然得到了,但里面的数据不能使用啊
辉说慧语 2005-09-28
  • 打赏
  • 举报
回复
mark
saucer 2005-09-28
  • 打赏
  • 举报
回复
try

DataRow[] delRows = workTable.Select(null, null, DataViewRowState.Deleted);

110,499

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧