Глюки rxDBGrid

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

Re: Глюки rxDBGrid

Сообщение ronin » 31.05.2012 13:40:38

решения описанной ранее проблемы ждать? :)
ronin
постоялец
 
Сообщения: 174
Зарегистрирован: 27.01.2010 00:14:46

Re: Глюки rxDBGrid

Сообщение alexs » 31.05.2012 19:56:21

Можешь тестовый пример?
Я как раз недавно (месяца 2 назад) подобную багу правил.
У меня нет такой проблемы.
Аватара пользователя
alexs
долгожитель
 
Сообщения: 4060
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь

Re: Глюки rxDBGrid

Сообщение ronin » 04.08.2012 18:58:01

скачал вчерашнюю ночную сборку всё равно в 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 таблице, не знаю как собрать тестовый пример
ronin
постоялец
 
Сообщения: 174
Зарегистрирован: 27.01.2010 00:14:46

Re: Глюки rxDBGrid

Сообщение alexs » 04.08.2012 21:32:04

Внес изменения. Немного переработал.
А какой набор данных используется?
На мой взгляд - тут либо глюк DB, либо глюк набора данных.
Аватара пользователя
alexs
долгожитель
 
Сообщения: 4060
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь

Re: Глюки rxDBGrid

Сообщение ronin » 04.08.2012 21:40:28

zeos из trunk

после того как добавил проверку глюк пропал, так что я думаю это всё таки грид :)
ronin
постоялец
 
Сообщения: 174
Зарегистрирован: 27.01.2010 00:14:46

Re: Глюки rxDBGrid

Сообщение ronin » 09.08.2012 21:33:40

порыл тут на форуме, вроде таких тем не видел, обнаружил странное поведение грида при отрисовке двухуровненвых шапок, при наведении на них мышкой
глюк не наблюдается при классической теме, проверял на стандартной ХР теме, на 7ке не смотрел

Изображение

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

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

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

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

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


в коде ты закомментировал строку с пересчётом, получается теперь в главном гриде пересчёт идёт а в дочернем нет, строку раскомментирую, всё считает и там и там, но появляются непонятные глюки со скроллингом гридов, о которых ты скорее всего здесь и упоминаешь
ronin
постоялец
 
Сообщения: 174
Зарегистрирован: 27.01.2010 00:14:46

Re: Глюки rxDBGrid

Сообщение alexs » 10.08.2012 07:55:39

1. Есть такой глюк в винде. Не доходт руки поправить. Там надо переделать логику отрисовки шапки грида.
2. Можно пример с дочерним гридом?
Аватара пользователя
alexs
долгожитель
 
Сообщения: 4060
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь

Re: Глюки rxDBGrid

Сообщение xcod » 10.08.2012 08:19:17

Вопрос не по глюку :D но создавать тему отдельную нехочеца :D
в футер вывожу кол-во строк(fvtCount) и сумму (fvtSum)
как мне их вернуть в мою переменную, для своих дальнейших действий?
xcod
постоялец
 
Сообщения: 108
Зарегистрирован: 07.08.2009 12:37:23

Re: Глюки rxDBGrid

Сообщение alexs » 10.08.2012 20:36:24


Sum2:=RxDBGrid8.ColumnByFieldName('sum_delta').Footer.NumericValue;
Аватара пользователя
alexs
долгожитель
 
Сообщения: 4060
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь

Re: Глюки rxDBGrid

Сообщение ronin » 10.08.2012 23:42:59

1. как можно посодействовать?
2. постараюсь смастерить
ronin
постоялец
 
Сообщения: 174
Зарегистрирован: 27.01.2010 00:14:46

Re: Глюки rxDBGrid

Сообщение alexs » 11.08.2012 02:23:18

ronin писал(а):1. как можно посодействовать?

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

Re: Глюки rxDBGrid

Сообщение xcod » 11.08.2012 16:04:23

alexs писал(а):
Sum2:=RxDBGrid8.ColumnByFieldName('sum_delta').Footer.NumericValue;

спасибо большое :)
xcod
постоялец
 
Сообщения: 108
Зарегистрирован: 07.08.2009 12:37:23

Re: Глюки rxDBGrid

Сообщение vicvala » 02.09.2012 19:10:14

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

Re: Глюки rxDBGrid

Сообщение alexs » 02.09.2012 23:05:45

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

Re: Глюки rxDBGrid

Сообщение vicvala » 04.09.2012 21:36:44

alexs посмотрите >>> на досуге! Count работает, Sum нет. Раньше работало. Если одна таблица, то суммирует нормально, если связь мастер-детали нет.
vicvala
новенький
 
Сообщения: 27
Зарегистрирован: 11.06.2011 17:55:25

Пред.След.

Вернуться в RxLib

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 3

Рейтинг@Mail.ru