怎么一次删除dbgrid中的多行数据?
  我想在dbgrid控件中一次删除多行数据,就象在windows下的那样,使用
shift和ctrl键,请有这方面代码的朋友给我帮助,谢谢。

解决方案 »

  1.   

    我自己都不想不出
    但我打算写个SQL代码实现
    很简单的
    做变量就可以了
      

  2.   

    你可以使用RxLib控件包的TRxDBGrid,它支持多选。
    通过使用SelectedRows[i]属性来获得选中行中的某一行。
      

  3.   

    补充一下,它可以在www.torry.net上找到。
      

  4.   

    貼一段,看看吧,
    procedure TForm1.BitBtn1Click(Sender: TObject);
    var
      i:integer;
    begin
      IF  Application.MessageBox('你确實要作批量刪除嗎?','提示',mb_YESNO or MB_ICONQUESTION or MB_DEFBUTTON2)=IDNO then
            Abort;
      For i:=0 to DBGrid.SelectedRows.Count-1 Do
             ADOQuery.Delete;
      If ADOQuery.State in dsEditModes then
         ADOQuery.Post;
    end;
      

  5.   

    使用书签列表(TBookMarkList)]
    代码如下:
    procedure TForm1.Button1Click(Sender: TObject);
    var
      i: Integer;  
    begin
      if DBGrid1.SelectedRows.Count>0 then
        with DBGrid1.DataSource.DataSet do
          for i:=0 to DBGrid1.SelectedRows.Count-1 do
          begin
            GotoBook(pointer(DBGrid1.SelectedRows.Items[i]));
            delete;        
          end;
    end;