Страница 26 из 26

Re: Глюки rxDBGrid

СообщениеДобавлено: 30.03.2021 00:07:16
YaroslavSh
Всем добрый день.
Возникла проблема при использовании Footer с базой на Firebird 2.5 в RxDBGrid при включенном fvtSum. Подключение через IBConnection. При отображении двух и более строк все нормально суммируется, но когда остается одна строка сразу вылетает ошибка. С базой на SQLlite3 суммировалось нормально.

Re: Глюки rxDBGrid

СообщениеДобавлено: 30.03.2021 10:55:00
alexs
Пример можно?

Re: Глюки rxDBGrid

СообщениеДобавлено: 30.03.2021 23:25:15
YaroslavSh
alexs писал(а):Пример можно?

Re: Глюки rxDBGrid

СообщениеДобавлено: 31.03.2021 12:20:50
alexs
Не могу повторить
Проверял на 2.5 в винде, на 3.0 в линухе - всё норм.

Lazarus 2.1.0 r64894M FPC 3.3.1 i386-win32-win32/win64

Lazarus 2.1.0 r64894M FPC 3.3.1 x86_64-linux-gtk2

Re: Глюки rxDBGrid

СообщениеДобавлено: 31.03.2021 22:32:57
YaroslavSh
Странно.
Пользовался Lazarus 2.0.10 63526 FPC 3.2.0 - ошибка.
Поставил Lazarus 2.0.12 64642 FPC 3.2.0 - ошибка.
Затем поставил lazarus-2.1.0-62815-fpc-3.2.0rc1-44237-win32 та же ошибка.
Проверял на win10x64, win7x64.
Firebird-2.5.9.27139_0_Win32
Сборки, как у Вас не нашел.

Re: Глюки rxDBGrid

СообщениеДобавлено: 01.04.2021 09:36:17
alexs
У меня текущее - из текущих исходников.
Но тут не должно это влиять.
Какая версия Rx? Текущая из SVN?
В каком именно месте вываливается ошибка - что показывает отладчик?

Re: Глюки rxDBGrid

СообщениеДобавлено: 01.04.2021 21:11:18
YaroslavSh
Я rx ставил из сетевого диспетчера пакетов, думал, что он имеет всегда самую свежую версию компонента. Удалил сетевой, поставил lazarus-ccr-svn-r7986. И ошибка пропала. Спасибо большое Алексей.

Re: Глюки rxDBGrid

СообщениеДобавлено: 02.04.2021 14:35:29
alexs
YaroslavSh писал(а):из сетевого диспетчера пакетов, думал, что он имеет всегда самую свежую версию компонента

Это не так - я там не управляю...

Re: Глюки rxDBGrid

СообщениеДобавлено: 04.02.2022 12:46:58
zoltanleo
Леш, привет.

Если в гриде выставить опцию dgDisplayMemoryText в True, то у многострочного текста строки "склеиваются" без пробелов(разделителей) между ними (на скринах для сравнения верхний - в гриде, нижний - в оригинале).

Можно что-то подправить? Может свойство запилить, определяющее разделитель?

Re: Глюки rxDBGrid

СообщениеДобавлено: 06.02.2022 20:17:03
alexs
Надо посмотреть конечно.
На мой взгляд - для отображения - любой не печатный символ просто заменять пробелом.

Re: Глюки rxDBGrid

СообщениеДобавлено: 06.02.2022 20:40:52
zoltanleo
alexs писал(а):Надо посмотреть конечно.
На мой взгляд - для отображения - любой не печатный символ просто заменять пробелом.

Приложение кроссплатформенное, перевод строки в линуксе будет #13, на маке #10, на винде оба. Хлопотно будет делать это вручную в каждом гриде в OnGetText ;)

Наверное, лучше все таки в сорцах поковыряться

Re: Глюки rxDBGrid

СообщениеДобавлено: 07.02.2022 00:29:20
alexs
Посмотри ревизию 8195.
В rx.inc добавил дерективу RDBGridDisplayMemoText_ClearSC. По умолчанию выключена.
При включении перед отображаением строки выполняется дополнительный проход
Код: Выделить всё
function TRxDBGrid.GetFieldDisplayText(AField: TField; ACollumn: TRxColumn
....
        {$IFDEF RDBGridDisplayMemoText_ClearSC}
        for i:=1 to Length(Result) do
          if Result[i] < ' ' then
            Result[i]:=' ';
        {$ENDIF}


Добавлено спустя 1 минуту 51 секунду:
Это что быстро смог придумать. Работает только на отображении.
По хорошему надо для RxDBGrid переопределять редктор MEMO полей - там сейчас штатный, на основе TEdit-а. А нужно что-то на основе TMemo.

Re: Глюки rxDBGrid

СообщениеДобавлено: 07.02.2022 00:39:44
zoltanleo
Спасибо, гляну завтра

Re: Глюки rxDBGrid

СообщениеДобавлено: 08.02.2022 01:09:13
zoltanleo
alexs писал(а):Посмотри ревизию 8195.

Леш, спасибо. Все здорово. При растяжении столбца пробелы вместо переносов, в хинте memo-форматирование сохраняется.

зы. только что обнаружил, что косяк-то я нашел в стандартном гриде, а не в твоем. Теперь, у тебя он пофикшен, а в стандартном - нет о_О