首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

ClientDataSet删除行,该举动什么消失了,而不是状态为usDeleted

2013-03-22 
ClientDataSet删除行,该行为什么消失了,而不是状态为usDeleted?我使用了cxGrid,其中cxGridDBTreeView(实例

ClientDataSet删除行,该行为什么消失了,而不是状态为usDeleted?
我使用了cxGrid,其中cxGridDBTreeView(实例名tvLIST)绑定ClientDataSet。
删除部分代码如下:


begin
  if Application.MessageBox('确定要删除该行吗?','删除行确认',MB_OKCANCEL)=ID_CANCEL then
    Exit;
  tvLIST.DataController.DeleteFocused;
  //ClientDataSet1.Delete; //此外也试过这个语句
end;

但是删除后,遍历ClientDataSet,发现该行找不到了。RecordCount也少了。
我也试过在界面选择该行,按Del键,cxGrid有一个删除确认;删除后,该行也是一样从ClientDataSet中消失了。
而我希望做到的是,把删除行的UpdateStatus标记为usDeleted,并隐藏显示;在保存时遍历ClientDataSet,把usDeleted的记录通过SQL语句在数据库中删除。
请问应该怎么做? ClientDataSet usDeleted Delphi
[解决办法]
再放一个ClientDataSet2,用ClientDataSet2.Data=ClientDataSet1.Delta;
while not ClientDataSet2.Eof do
case  ClientDataSet2.UpdateStatus of
usDeleted:
XXX

热点排行