Глюки rxDBGrid

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

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

Сообщение alexs »

А если надо по всем?
Naumoff
новенький
Сообщения: 11
Зарегистрирован: 13.08.2016 18:32:20

Сообщение Naumoff »

alexs писал(а):А если надо по всем?

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

Сообщение alexs »

По мне - меньшее зло - как есть. Ибо не фиг делать тысячные выборки :-)
Но не знаю. Что другие скажут?
kit
постоялец
Сообщения: 156
Зарегистрирован: 29.09.2016 08:39:07

Сообщение kit »

Действительно тормозит! Лучше по видимых строках. И еще алгоритм не учитывает длинну значения Footer.
Аватара пользователя
zoltanleo
постоялец
Сообщения: 459
Зарегистрирован: 17.10.2013 10:55:01

Сообщение zoltanleo »

Есть код, который отрисовывает грид в зависимости от состояния коннекта к базе.

Код: Выделить всё

//настройки сетки
with Grid_main do
  begin
    if Enabled
      then
        begin
          TitleFont.Color:= clDefault;
          ScrollBars:= ssAutoBoth;
        end
      else
        begin
          TitleFont.Color:= clGrayText;
          ScrollBars:= ssNone;
        end;
  end;                               


При создании формы, когда Enable = False, все работает. После установки соединения, свойство Enable = True, но грид не перерисовывается, пока не сменишь вкладки.

Это фишка или бага?

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

Сообщение alexs »

Не понял. А откуда этот код вызывается? Возможно ты просто не отрабатываешь события смены состояния БД? Попробуй после конекта сделать Invalidate гридам.
Аватара пользователя
zoltanleo
постоялец
Сообщения: 459
Зарегистрирован: 17.10.2013 10:55:01

Сообщение zoltanleo »

Скажем так, этот код вынес в отдельную процедуру. После каждого чиха, где меняется свойство Enable грида, я обращаюсь в процедуру с этом кодом.

Invalidate пробовал - не катит.

зы. сделаю демку - выложу.

Update: странно, в демке все фурычит, как надо :shock:

Update2: mea culpa. Это мой косяк оказался. :D
Вложения
published.7z
(2.5 КБ) 642 скачивания
rellai2
постоялец
Сообщения: 135
Зарегистрирован: 18.09.2008 11:37:45

Сообщение rellai2 »

Не понял как работает QuickSearch
Начинаю в гриде вводить например "Поли" он вместо того чтобы с позиционироваться на "Полис" находит 'ВсеПолиса' а далее начинает рандомно скакать по гриду....
Мне нужно чтобы искал с начала строки... никак не выходит.... loPartialKey я так понимаю надо где то выключить но где?
Аватара пользователя
alexs
долгожитель
Сообщения: 4066
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь
Контактная информация:

Сообщение alexs »

Сейчас это жёстко зашито в TRxDBGrid.SetQuickUTF8Search
В принципе эту настройку можно оформить в виде отдельного свойства.

Добавлено спустя 42 минуты 29 секунд:
Смотри свойство SearchOptions
Для твоей ситуации надо
SearchOptions.FromStart=true
SearchOptions.QuickSearchOptions = [loCaseInsensitive, loPartialKey]
rellai2
постоялец
Сообщения: 135
Зарегистрирован: 18.09.2008 11:37:45

Сообщение rellai2 »

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

Сообщение alexs »

rellai2 писал(а):RxDBGrid нет такого свойства

Уже есть
Смотри ревизию 5324.
rellai2
постоялец
Сообщения: 135
Зарегистрирован: 18.09.2008 11:37:45

Сообщение rellai2 »

Спасибо! работает!!
rellai2
постоялец
Сообщения: 135
Зарегистрирован: 18.09.2008 11:37:45

Сообщение rellai2 »

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

Сообщение alexs »

done in revision 5358.
rellai2
постоялец
Сообщения: 135
Зарегистрирован: 18.09.2008 11:37:45

Сообщение rellai2 »

Спасибо! отлично работает!
Ответить