高分求助Delphi老师,dbgrideh的第一列添加了check复选框,怎么判断勾选?

高分求助Delphi老师,dbgrideh的第一列添加了check复选框,怎么判断勾选?
图片说明
dbgrideh的第一列我加了个check复选框,数据库里对应的是CHK字段,0为不勾选,1为勾选

怎么做可以全部一次性选择所有的勾选和取消全选?
怎么统计我勾选了多少条记录?
就这2个问题,麻烦老师给予指点。

选了多少条记录 SelectedRows.Count

SelectedRows: TBookmarkList
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[i]));
    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;  

https://www.cnblogs.com/bwdblogs/p/10243230.html