起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 183|回复: 7

BookMark使用**

[复制链接]
发表于 2009-2-19 15:55:01 | 显示全部楼层 |阅读模式
A、B两个DataGrid,都可以多选,通过选择按钮将A中选中的记录复制到B中,复制后删除A中选中的数据。
if DataGrid2.SelectedCount>0 then
      begin
        //TempBookMark := DataGrid2.Datasource.Dataset.GetBookMark;
        for i:= 0 to DataGrid2.SelectedCount-1 do
          begin
            DataGrid2.DataSource.DataSet.Bookmark := DataGrid2.SelectedRows;
            //DataGrid2.DataSource.DataSet.GotoBookmark(TempBookMark);
            //if DataGrid2.Items.Selected then
              Info.FromOptionalToSelected;
           end;
      end;
选择按钮执行一次后,不再用鼠标从A中选择记录,直接点选择按钮后报错:DataSetOptionalDetail: Record not found。
是不是数据集记录变化后,BookMark就不起作用了?
回复

使用道具 举报

发表于 2009-2-19 15:59:31 | 显示全部楼层
看不懂楼主的问题,
有完整代码吗?数据集记录变化是什么意思?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-2-19 16:04:26 | 显示全部楼层
在A上选择多行记录后,点“选择”按钮将A中选中的记录复制到B,复制完后将A中选中的记录删除;然后不用鼠标从A中选择记录,直接点“选择”按钮就报错了。
数据集记录变化是说点完选择按钮后A的记录数是会减少的
回复 支持 反对

使用道具 举报

发表于 2009-2-19 16:12:00 | 显示全部楼层
A的记录已经被删除了,标记肯定不正确了。
我觉得你应该重新选择,设置bookmark,不能再用删除前的标记了
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-2-19 16:16:11 | 显示全部楼层
在点选择按钮之前要去判断标记能不能使用,怎么判断?给点提示吧,谢谢
回复 支持 反对

使用道具 举报

发表于 2009-2-19 16:43:40 | 显示全部楼层
楼主,bookmark用完后,要用FreeBookmark释放,不要反复使用。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-2-19 16:45:59 | 显示全部楼层
好的 我试试
回复 支持 反对

使用道具 举报

发表于 2009-2-20 08:44:09 | 显示全部楼层
ok
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-7-27 19:53 , Processed in 0.041512 second(s), 15 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表