我想通过程序把DBGrid中的所有记录都选中?(其中我已经把dgMultiSelect设置为True了)

解决方案 »

  1.   

    for I := TDBGrid(Sender).DataSource.DataSet.RecordCount downto 1 do begin
          TDBGrid(Sender).DataSource.DataSet.RecNo := I;
          TDBGrid(Sender).SelectedRows.CurrentRowSelected := True;
        end;
      

  2.   

    忘了说了,上面的是放到DBGrid.OnKeyDown里
    把TDBGrid(Sender)改成你的DBGrid就可以了
      begin
        for I := DBGrid.DataSource.DataSet.RecordCount downto 1 do begin
          DBGrid.DataSource.DataSet.RecNo := I;
          DBGrid.SelectedRows.CurrentRowSelected := True;
        end;
      end;