怎样实现在dbgrid里同时选中多行,进行删除,我只会选中一行用table1.delete;进行删除。(100分)

  • 主题发起人 苦命的人
  • 开始时间

苦命的人

Unregistered / Unconfirmed
GUEST, unregistred user!
怎样实现在dbgrid里同时选中多行,进行删除,我只会选中一行用table1.delete;进行删除。
 
表表關注
 
dbgrid的mutiselect 设为true

for i:=1 to dbgrid.selecedrow.count do
begin
gotobookmark(pointer(dbgrid.selectedrow.itemes[i-1]));
table1.delete;
end;
你试试 ,我只取过值,没有删除过;D
 
多选的话用 Ctrl
好象不支持Shift
 
用Ctrl多选后,有selectedrows属性。
以下是delphi的帮助文件关于selectedrows,改一下就可以了。
procedure TForm1.Button1Click(Sender: TObject);
var
i, j: Integer;
s: string;
begin
if DBGrid1.SelectedRows.Count>0 then
with DBGrid1.DataSource.DataSet do
for i:=0 to DBGrid1.SelectedRows.Count-1 do
begin
GotoBookmark(pointer(DBGrid1.SelectedRows.Items));
for j := 0 to FieldCount-1 do
begin

if (j>0) then s:=s+', ';
s:=s+Fields[j].AsString;
end;
Listbox1.Items.Add(s);
s:= '';
end;
end;
 
用这个命令DbiDeleteRecord试试吧,至于怎么用,你自己查查吧,我没有用过,
我只用过下面的命令(Tabcards为Table控件)
dbipacktable(tabcards.DBHandle,tabcards.Handle,NIL,NIL,true);
 
多人接受答案了。
 
顶部