dbgrideh删除被选中的行的问题

时间:2022-08-31 09:33:18
我有4个问题:
 当我在dbgrideh中选中某几行(如1,3,4,7,8行)
1、程序怎样知道我选择的是第1,3,4,7,8行?
2、在删除前,我假设其中有一行(假设是第4行)正在修改或者做其他事不能删除,
   我怎样只取消第4行的被选中状态,而保留其他选中行的原状态。这样做是为了
   方便使用它的一个删除所有被选中行的方法。
3、adotable.deleterecords(arall)的使用方法,看了英文帮助还是搞不定,我不想
   用for循环删除adotable中的数据,也不想用adoquery或者adocommand,我就是想学学
   adotable.deleterecords方法
4、如何添加,修改,读出access数据库中的ole 对象字段

6 个解决方案

#1


关注

#2


1。选中的行位置可以根据你的记录集的索引来确定是那行
2。在修改之前你能否判断你的这条记录还再不再
其它的没用过

#3


谢谢大家的回答。
第4个问题的补充说明:我是想把一个动态数组保存到那个ole对象字段
例如:douar:array of double;

#4


有人能够解决吗?

#5


楼上的在什么地方受了气,到处害人
用bookmark
dbgrid多选的行保存了dbgrid1.selectedrows中
for i:=0 to dbgrid1.selectrows.count-1 do
begin
  with DBGrid1.datasource.dataset do
  begin
  gotobookmark(pointer(Dbgrid1.selectrows[i]));
  edit;
  delete;
  end;
end;

将当前记录从selectrows 中删除
定位到当前记录
dbgrid1.selectrows.currenselected:=False;

#6


应该是yesxwl的答案了。

#1


关注

#2


1。选中的行位置可以根据你的记录集的索引来确定是那行
2。在修改之前你能否判断你的这条记录还再不再
其它的没用过

#3


谢谢大家的回答。
第4个问题的补充说明:我是想把一个动态数组保存到那个ole对象字段
例如:douar:array of double;

#4


有人能够解决吗?

#5


楼上的在什么地方受了气,到处害人
用bookmark
dbgrid多选的行保存了dbgrid1.selectedrows中
for i:=0 to dbgrid1.selectrows.count-1 do
begin
  with DBGrid1.datasource.dataset do
  begin
  gotobookmark(pointer(Dbgrid1.selectrows[i]));
  edit;
  delete;
  end;
end;

将当前记录从selectrows 中删除
定位到当前记录
dbgrid1.selectrows.currenselected:=False;

#6


应该是yesxwl的答案了。