Delphi实现DBGrid全选和反选功能

Posted 癫狂编程

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Delphi实现DBGrid全选和反选功能相关的知识,希望对你有一定的参考价值。

    Delphi实现Dbgrid全选和反选、清除全选的功能,不管是在Delphi下,还是在WEB开发中,这种功能都是很实用的,是进行数据批量操作的基础。本模块就是实现了为Delphi的DBGrid数据列表增加全选内容、清除全选的功能,很实用了,代码内容如下:

//全选
procedure TFrameCustSelector.ToolButton1Click(Sender: TObject);
var
  OldCurrent: TBookmark;
begin
  OldCurrent := DBGrid1.DataSource.DataSet.Bookmark;
  DBGrid1.DataSource.DataSet.DisableControls;
  DBGrid1.DataSource.DataSet.First ;
  while not DBGrid1.DataSource.DataSet.Eof do begin
    DBGrid1.SelectedRows.CurrentRowSelected := true;
    DBGrid1.DataSource.DataSet.Next;
  end;
  DBGrid1.DataSource.DataSet.GotoBookmark(OldCurrent);
  DBGrid1.DataSource.DataSet.EnableControls;
end;
//清除全选
procedure TFrameCustSelector.ToolButton2Click(Sender: TObject);
var
  OldCurrent: TBookmark;
begin
  OldCurrent := DBGrid1.DataSource.DataSet.Bookmark;
  DBGrid1.DataSource.DataSet.DisableControls;
  DBGrid1.DataSource.DataSet.First ;
  while not DBGrid1.DataSource.DataSet.Eof do begin
    DBGrid1.SelectedRows.CurrentRowSelected := False;
    DBGrid1.DataSource.DataSet.Next;
  end;
  DBGrid1.DataSource.DataSet.GotoBookmark(OldCurrent);
  DBGrid1.DataSource.DataSet.EnableControls;
end;
//反选
procedure TFrameCustSelector.ToolButton3Click(Sender: TObject);
var
OldCurrent: TBookmark;
begin
  OldCurrent := DBGrid1.DataSource.DataSet.Bookmark;
  DBGrid1.DataSource.DataSet.DisableControls;
  DBGrid1.DataSource.DataSet.First ;
  while not DBGrid1.DataSource.DataSet.Eof do begin
    DBGrid1.SelectedRows.CurrentRowSelected := not DBGrid1.SelectedRows.CurrentRowSelected;
    DBGrid1.DataSource.DataSet.Next;
  end;
  DBGrid1.DataSource.DataSet.GotoBookmark(OldCurrent);
  DBGrid1.DataSource.DataSet.EnableControls;
end;

 

以上是关于Delphi实现DBGrid全选和反选功能的主要内容,如果未能解决你的问题,请参考以下文章

Vue实现单选、全选和反选

jquery实现全选和反选功能

实现全选和反选的效果代码

js实现复选框的全选全不选和反选

原生js实现全选和反选以及任意一个未被选中的效果

利用jQuery实现复选框的全选和反选