Глючные гриды...

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

Ответить
RusDeveloper
новенький
Сообщения: 92
Зарегистрирован: 06.04.2016 11:02:43

Глючные гриды...

Сообщение RusDeveloper »

Добрый день

столкнулся со следующей проблемой у TDBGrid и TRxDBGrid (2.8.2.181) в Lazarus 1.6 и TDBGrid, TFZDBGrid, TJDBGridControl, TKDBGrid, TRxDBGrid в Typhon IDE 5.7: когда крайний справо столбец - длинная строка, я не могу посмотреть, чем она заканчивается. скролбар просто не прокручивается вправо. как решить эту проблему?

P.S. Моя ОС: Windows 7
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
Снег Север
долгожитель
Сообщения: 3067
Зарегистрирован: 27.11.2007 15:14:47
Контактная информация:

Сообщение Снег Север »

В Делфи я выводил полную строку в хинт. Попробуйте и в лазаре такое.
RusDeveloper
новенький
Сообщения: 92
Зарегистрирован: 06.04.2016 11:02:43

Сообщение RusDeveloper »

проблему с прокруткой решил
http://bugs.freepascal.org/view.php?id=28889
но сам факт наличия таких багов расстраивает
RusDeveloper
новенький
Сообщения: 92
Зарегистрирован: 06.04.2016 11:02:43

Сообщение RusDeveloper »

столкнулся с серьезной проблемой. накидал тестовое приложение на Firebird + Lazarus: TDBGrid, TDBEdit, меню с одним пунктом "Добавить", при нажатии на который выполняется добавление записи в TSQLQuery: sqlList.Append. Запускается приложение, если нажимаем в меню "Добавить", а затем становимся на TDBEdit, то все хорошо. Если запускается приложение и мы сначала меняем ширину какого-то столбца у TDBGrid, а затем нажимаем в меню "Добавить" и становимся на TDBEdit, то строка в гриде сначала добавляется, а затем (после того как мы стали на TDBEdit) удаляется и мы переходим в режим редактирования имеющейся записи.

Исходники прикрепил. Кто что скажет?
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
alexs
долгожитель
Сообщения: 4066
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь
Контактная информация:

Сообщение alexs »

Подтверждаю поведение
Надо в багтрекер оформлять ошибку
Только пример сделать со стандартной базой...
RusDeveloper
новенький
Сообщения: 92
Зарегистрирован: 06.04.2016 11:02:43

Сообщение RusDeveloper »

кто возьмется оформить?..
Аватара пользователя
alexs
долгожитель
Сообщения: 4066
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь
Контактная информация:

Сообщение alexs »

Автор, нашедший ошибку :-)
Как самое заинтересованное лицо.
RusDeveloper
новенький
Сообщения: 92
Зарегистрирован: 06.04.2016 11:02:43

Сообщение RusDeveloper »

где-то есть инструкция как это все делать?.. что это за стандартная база?..
Аватара пользователя
alexs
долгожитель
Сообщения: 4066
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь
Контактная информация:

Сообщение alexs »

RusDeveloper
новенький
Сообщения: 92
Зарегистрирован: 06.04.2016 11:02:43

Сообщение RusDeveloper »

alexs писал(а):http://bugs.freepascal.org/view_all_bug_page.php

а где там инфа о стандартной базе?
Аватара пользователя
alexs
долгожитель
Сообщения: 4066
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь
Контактная информация:

Сообщение alexs »

у птицы стандартная база employee.fdb
Я это имел ввиду
Igor2013
незнакомец
Сообщения: 3
Зарегистрирован: 01.07.2013 20:28:17

Сообщение Igor2013 »

Это не глючные гриды, а стандартное поведение при включенной опции dgCancelOnExit.
Если сделать DBGrid1.Options := DBGrid1.Options - [dgCancelOnExit]; то "Глюки" должны исчезнуть.
Хотя я не проверял.
RusDeveloper
новенький
Сообщения: 92
Зарегистрирован: 06.04.2016 11:02:43

Сообщение RusDeveloper »

Igor2013 писал(а):Это не глючные гриды, а стандартное поведение при включенной опции dgCancelOnExit.

а что это, если не глюк? если поведение грида зависит от того изменили или не изменили мы ширину столбца. там же нет опции dgCancelOnExitAndResizeColumn... одназначно, это глюк
pupsik
энтузиаст
Сообщения: 1154
Зарегистрирован: 20.08.2014 16:20:13
Контактная информация:

Сообщение pupsik »

одназначно, это глюк

возможно... А может - стандартное поведение?

alexs а это поведение не схоже с:

5. Замечание о RXDBGRID_OPTIONS_WO_CANCEL_ON_EXIT и флаге dgCancelOnExit в
TRxDbGrid.Options
в случае использования следующей схемы под линуксом:
В форму ложим список TRxDbGrid с открытым набором данных и отдельную кнопку (TSpeedButton) на
добавление новой записи в набор данных с вызовом другой модальной формы для редактирования
добовляемых значение
при открытии формы редактирования набор данных, связанный с TRxDbGrid переходит в состояние
редактирования
это поведени наблюдается только по Linux
объяснение заключается в том что при потере фокуса TDbGrid и его наследниеи вызывают
метод Cancel
?

Т.е. вы стали на TDBEdit и произошло чудо. Т.е. Cancel...

1. Добавили что то (фокус на гриде)
2. Сохранили
3.Нажали кнопку
4."Подергали" сетку
5. Перешли на едит
и вуаля....

п.с.
зависит от того изменили или не изменили мы ширину столбца
хм... Поставьте в false св-во, а потом отпишитесь.
Или оформите в багтрекер, или в конфу спросите. Авось там растолкуют.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Ответить