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

Re: Глюки rxDBGrid

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

Re: Глюки rxDBGrid

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

Re: Глюки rxDBGrid

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

Re: Глюки rxDBGrid

Добавлено: 31.03.2021 11: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 21: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 08:36:17
alexs
У меня текущее - из текущих исходников.
Но тут не должно это влиять.
Какая версия Rx? Текущая из SVN?
В каком именно месте вываливается ошибка - что показывает отладчик?

Re: Глюки rxDBGrid

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

Re: Глюки rxDBGrid

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

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

Re: Глюки rxDBGrid

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

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

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

Re: Глюки rxDBGrid

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

Re: Глюки rxDBGrid

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

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

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

Re: Глюки rxDBGrid

Добавлено: 06.02.2022 23:31:11
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

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

Re: Глюки rxDBGrid

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

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

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

Re: Глюки rxDBGrid

Добавлено: 31.03.2025 10:46:24
Lucifer
Коллеги, день добрый! Имеем очень странный глюк, который давно уже не могу побороть. А именно, в какой-то момент времени, весьма произвольный, грид перестает визуально быть синхронным с датасетом. Показывает не то, где реально спозиционирован курсор датасета. При просто движении мыши по гриду - перерисовывается тем, что реально должно быть показано. Repaint не помогает. Refresh тоже. Грешу, конечно, на множественные условия раскраски гирда, но отказаться от нее не могу, ибо инструмент чисто наш внутренний для сравнения и обновления баз данных, коих у нас под две сотни. И визуально видеть, как они сравнились/обновились нужно.

P.S. WinSrv 2012R2 x64, Lazarus 3.6, FPC 3.2.2, хотя проблема и не в нем. На предыдущих было точно так же.
P.P.S. В линуксе (Debian12) работает нормально. Lazarus 4.0 RC3.

UPD: Еще обратил внимание, что при движении курсора мыши пропадают заголовки столбцов. А там объединение. Убрал его - и все нормализовалось. Вот такая история. Странно, что под линуксом такое не наблюдается. Все же, видимо, это глюки смой винды.

UPD2: Рано радовался. :-( Глюк не исчез.