Components for Delphi and C++ Builder.

Перейти в английский форум
Перейти на EhLib.com
Текущее время: 19 апр 2024, 08:14

Часовой пояс: UTC




Начать новую тему Ответить на тему  [ 1 сообщение ] 
Автор Сообщение
 Заголовок сообщения: Вопрос по выделению. Eh8.1.009
СообщениеДобавлено: 05 ноя 2015, 11:42 
Не в сети

Зарегистрирован: 02 ноя 2012, 13:51
Сообщений: 241
В методе TCustomDBGridEh есть код

Код:
  if (SelectedRows.Count > 0) and
      DataLink.Active and
      not (DataLink.DataSet.State in dsEditModes)
  then
    if dghClearSelection in OptionsEh
      then SelectedRows.Refresh(True)
      else SelectedRows.Refresh(False);


Он приводит к странным эффектам если используется FireDac. Дело в том, что у FireDac если Bookmark не валиден (любой из параметров), то метод CompareBookmarks вернёт 0 (т.е) равны. И если не обновлять список букмарков в гриде удаляя невалидные, скажем в паттерне
Код:
DataSet.DisableControls;
try
  DataSet.Delete;
finally
  DataSet.EnableControls;
end;


То отрисовка грида будет рисовать все записи выделенными, потому что метод TBMListEh.Find будет всегда "находить" в списке букмарков равный искомому. Т.е. как только в SelectedRows находится инвалидный букмарк, функцит проверяющие выделенность текущей записи сходят с ума.


Вернуться наверх
 Профиль  
 
Показать сообщения за:  Сортировать по:  
Начать новую тему Ответить на тему  [ 1 сообщение ] 

Часовой пояс: UTC


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 4


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB