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

Re: Глюки rxDBGrid

СообщениеДобавлено: 31.05.2012 13:40:38
ronin
решения описанной ранее проблемы ждать? :)

Re: Глюки rxDBGrid

СообщениеДобавлено: 31.05.2012 19:56:21
alexs
Можешь тестовый пример?
Я как раз недавно (месяца 2 назад) подобную багу правил.
У меня нет такой проблемы.

Re: Глюки rxDBGrid

СообщениеДобавлено: 04.08.2012 18:58:01
ronin
скачал вчерашнюю ночную сборку всё равно в RxDBGrid.pas приходится добавлять проверку на F.IsNull в функции function TRxColumnFooter.ErrorTestValue: boolean;
вот в этом месте:

Код: Выделить всё
      begin
        case FValueType of
          fvtSum:
            if F.DataSet.RecordCount = 0 then
            begin
{              if not F.IsNull then
                FTestValue := FTestValue - F.AsFloat;}
              { TODO -oalexs : need rewrite this code - where difficult! }
            end
            else
            begin
              if not F.IsNull then begin     //добавленная проверка
                if F.OldValue <> null then
                  FTestValue := FTestValue + Float(F.OldValue);
                if not F.IsNull then
                  FTestValue := FTestValue - F.AsFloat;
              end;
            end;
          fvtMax:
            if (F.DataSet.RecordCount <> 0) and (F.OldValue <> null) then
              FTestValue := Max(FTestValue, Float(F.OldValue));
          fvtMin:
            if (F.DataSet.RecordCount <> 0) and (F.OldValue <> null) then
              FTestValue := Min(FTestValue, Float(F.OldValue));
        end;
      end;


иначе ловлю исключение Index out of bound при добавлении строки в таблицу и включённом футере

и остаётся баг с пересчётом итогов в detail таблице, не знаю как собрать тестовый пример

Re: Глюки rxDBGrid

СообщениеДобавлено: 04.08.2012 21:32:04
alexs
Внес изменения. Немного переработал.
А какой набор данных используется?
На мой взгляд - тут либо глюк DB, либо глюк набора данных.

Re: Глюки rxDBGrid

СообщениеДобавлено: 04.08.2012 21:40:28
ronin
zeos из trunk

после того как добавил проверку глюк пропал, так что я думаю это всё таки грид :)

Re: Глюки rxDBGrid

СообщениеДобавлено: 09.08.2012 21:33:40
ronin
порыл тут на форуме, вроде таких тем не видел, обнаружил странное поведение грида при отрисовке двухуровненвых шапок, при наведении на них мышкой
глюк не наблюдается при классической теме, проверял на стандартной ХР теме, на 7ке не смотрел

Изображение

на скрине показано как отображается шапка при наведении мышкой, под курсором пропадает текст и меняется цвет шапки

p.s. проверял на двух разных компах на ХР, titlestyle пробовал все варианты, не помогло

Добавлено спустя 6 минут 52 секунды:
да, насчёт пересчёта итогов забыл сказать что это не баг, это фича такая наверное :) я же выше писал почему так происходит, буду думать как исправить

Добавлено спустя 2 минуты 59 секунд:
вот из-за чего так происходит

Но в последних комитах я убрал из TRxDBGrid.UpdateActive пересчёт итогов. Сейчас этот метод грида изменяется на каждое изменение положения курсора в наборе данных. Получается лишние вызовы и глюки при движению по гриду, содержимое которого превышает размер самого грида.
Ещё не придумал как обойти...


в коде ты закомментировал строку с пересчётом, получается теперь в главном гриде пересчёт идёт а в дочернем нет, строку раскомментирую, всё считает и там и там, но появляются непонятные глюки со скроллингом гридов, о которых ты скорее всего здесь и упоминаешь

Re: Глюки rxDBGrid

СообщениеДобавлено: 10.08.2012 07:55:39
alexs
1. Есть такой глюк в винде. Не доходт руки поправить. Там надо переделать логику отрисовки шапки грида.
2. Можно пример с дочерним гридом?

Re: Глюки rxDBGrid

СообщениеДобавлено: 10.08.2012 08:19:17
xcod
Вопрос не по глюку :D но создавать тему отдельную нехочеца :D
в футер вывожу кол-во строк(fvtCount) и сумму (fvtSum)
как мне их вернуть в мою переменную, для своих дальнейших действий?

Re: Глюки rxDBGrid

СообщениеДобавлено: 10.08.2012 20:36:24
alexs

Sum2:=RxDBGrid8.ColumnByFieldName('sum_delta').Footer.NumericValue;

Re: Глюки rxDBGrid

СообщениеДобавлено: 10.08.2012 23:42:59
ronin
1. как можно посодействовать?
2. постараюсь смастерить

Re: Глюки rxDBGrid

СообщениеДобавлено: 11.08.2012 02:23:18
alexs
ronin писал(а):1. как можно посодействовать?

СТандартно грид вызывает отрисовку только для тех ячеек, которые надо перерисовать.
Когда имеем объединение ячеек заголовка - рисуется только первая ячейка из серии объединённых. И она же расширяется на всю серию. Поэтому и происходит порча заголовка при перекрытии последющих (не первых) ячеек.
Мысли крутятся насчёт принудительной отрисовки в это случаее первой ячейки. Но это надо оформить.
В GTK2 такое не наблюдается - поэтому не занимаюсь вплотную.
2. Жду.

Re: Глюки rxDBGrid

СообщениеДобавлено: 11.08.2012 16:04:23
xcod
alexs писал(а):
Sum2:=RxDBGrid8.ColumnByFieldName('sum_delta').Footer.NumericValue;

спасибо большое :)

Re: Глюки rxDBGrid

СообщениеДобавлено: 02.09.2012 19:10:14
vicvala
alexs
скачал из svn RxLib, поставил на Lazarus 1.1 FPC 2.7.1 (38476) Win7 32bit, footer не работает (не суммирует) в части fvtSum, а вот fvtCount - работает! Шрифт в footer то белый, то чёрный, понять не могу от чего зависит?! У кого-нибудь footer в части fvtSum работает?

Re: Глюки rxDBGrid

СообщениеДобавлено: 02.09.2012 23:05:45
alexs
у меня работает без замечаний

Re: Глюки rxDBGrid

СообщениеДобавлено: 04.09.2012 21:36:44
vicvala
alexs посмотрите >>> на досуге! Count работает, Sum нет. Раньше работало. Если одна таблица, то суммирует нормально, если связь мастер-детали нет.