"EhLib.Com"
https://forum.ehlib.com/ru/

Lazarus (windows): скролл датасета при клике на cellbutton
https://forum.ehlib.com/ru/viewtopic.php?f=4&t=2862
Страница 1 из 1

Автор:  edgen [ 19 сен 2019, 15:17 ]
Заголовок сообщения:  Lazarus (windows): скролл датасета при клике на cellbutton

Добрый день!

Lazarus 2.1.0,
EhLib 9.4.015

Есть DBGridEh, подключённый к MemTableEh. В гриде есть CellButton в одном из столбцов. По нажатию на кнопку отображается форма, в которой выводится результат выполнения запроса, входными данными для которого является содержимое полей записи датасета, показываемого гридом.

В случае, если сначала выделяем строку, потому нажимаем на cellbutton всё работает правильно.
Если нажать на cellbutton строки, показывающей не текущую запись датасета, не происходит прокрутки, поэтому получается неверный результат.

Это ошибка или так и задумано?

P.S.: А ещё так и не удалось заставить работать DropDownForms в Лазаре. Начиная с того, что создавать её приходится руками вне среды (в перечень в File|New ничего не добавляется), продолжая тем, что она не показывается, хотя настроено всё по руководству.

Автор:  EhLibSupport [ 19 сен 2019, 23:52 ]
Заголовок сообщения:  Re: Lazarus (windows): скролл датасета при клике на cellbutt

Добрый день.

На тестовом проекте ошибка не воспроизводиться.
Грид вначале переносит позицию текущей ячейки на нажимаемую ячейку, уже затем вызывает событие DBGridEh1Columns1CellButtons0Click

Код:
procedure TForm1.DBGridEh1Columns1CellButtons0Click(Sender: TObject;
  var Handled: Boolean);
begin
  ShowMessage('CustNo = ' + MemTableEh1.FieldByName('CustNo').AsString);
end;

Вы можете прислать Демо проект в котором ошибка воспроизводится?

Вложения:
sshot-54.png
sshot-54.png [ 34.76 KiB | Просмотров: 752 ]

Автор:  edgen [ 20 сен 2019, 18:03 ]
Заголовок сообщения:  Re: Lazarus (windows): скролл датасета при клике на cellbutt

Собрал отдельный проект с той же связкой компонент, воспроизвести не удалось.
Видимо, какие-то side-effects большого приложения, буду разбираться.

В процессе переноса обнаружилось странное поведение самого Lazarus (например, для cellbutton не сохранялись обработчики событий), но это точно не к EhLib.

Так что вопрос закрыт, извините.
И спасибо!

Страница 1 из 1 Часовой пояс: UTC
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/