Существует сильнейшая библиотека компонентов для работы с базами данных, под названием - Ehlib. Так вот, аналогом стандартного DBGrid, в этой библиотеке
является компонент DBGridEh. По сравнению с DBGrid, DBGridEh
более гибкий и обладает гораздо большим диапазоном настроек. В частности, для того чтобы отобразить один из его столбцов с чекбоксами, достаточно в Access в соответствующем столбце, тип указать - Логический. Остальное компонент берет на себя. По умочанию, чекбокс отображается уже с галочкой, и чтобы программно его очистить, (ну при открытии формы например, или при добавлении новой строки): 1) В событии OnShow на форме, достаточно прописать следующим код: begin
ADOTable1.Edit;
ADOTable1.Fields.FieldByName('имя столбца').AsVariant:=false; //Если используете ADOQuery, пишите
ADOQuery1
вместо ADOTable1;
ADOTable1.Post;
end; А для того чтобы наоборот, его программно выделить, false просто поменяйте на true. Можно по нажатию Button пройтись по ячейкам циклом, для того чтобы выделить все например: 1) В событии OnClick на Button прописываем:
var
a:Integer;
begin
ADOTable1.First;
ADOTable1.Edit;
For a:=0 To
ADOTable1.RecordCount-1 Do
begin
ADOTable1.Edit;
ADOTable1.Fields.FieldByName('имя столбца').AsVariant:=true; //Если используете ADOQuery, пишите
ADOQuery1
вместо ADOTable1;
ADOTable1.Post;
ADOTable1.Next;
end;
end; А для того чтобы наоборот, снять выделение со всех ячеек, то как всегда
true просто поменяйте на
false.
|