Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Delphi Новый топик    Ответить
 Как в DBGridEh программно выделить заданные строки (мультиселект)?  [new]
svnvlad
Member

Откуда:
Сообщений: 1974
Вытащить id выделенных мышкой строк понятно как:
  if DBGridEh1.SelectedRows.Count > 0 then
  // Мультиселект
    begin
      with ADQuery1 do
        begin
          for i := 0 to DBGridEh1.SelectedRows.Count - 1 do
            begin
              GotoBookmark(pointer(DBGridEh1.SelectedRows.Items[i]));
              s := s + FieldByName('id').AsString + ',';
            end;
        end;

А здесь обратная задача: известны id строк, которые надо выделить среди остальных, и нужно программно поставить статус "выделено" на этих строках.
10 мар 19, 06:44    [21828634]     Ответить | Цитировать Сообщить модератору
 Re: Как в DBGridEh программно выделить заданные строки (мультиселект)?  [new]
Gator
Member

Откуда: Москва
Сообщений: 14088
svnvlad,

http://www.delphiplus.org/articles/components/multicolored_dbgrid/index.html
10 мар 19, 07:18    [21828638]     Ответить | Цитировать Сообщить модератору
 Re: Как в DBGridEh программно выделить заданные строки (мультиселект)?  [new]
svnvlad
Member

Откуда:
Сообщений: 1974
Gator,

вот так сделал:
  ADQuery1.DisableControls;
  while not ADQuery1.Eof do
    begin
      if ADQuery1.FieldByName('chk').AsString = 'Y' then
        DBGridEh1.SelectedRows.CurrentRowSelected := true;
      ADQuery1.Next;
    end;
  ADQuery1.First;
  ADQuery1.EnableControls;
10 мар 19, 09:14    [21828647]     Ответить | Цитировать Сообщить модератору
Все форумы / Delphi Ответить