среда, 23 октября 2013 г.

Компонент DBGridEh, ADO Access и чекбоксы в ячейках


    Существует сильнейшая библиотека компонентов для работы с базами данных, под названием - 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.

Комментариев нет:

Отправить комментарий

Примечание. Отправлять комментарии могут только участники этого блога.