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

Re: Доработки Rx

СообщениеДобавлено: 30.11.2017 15:55:07
alexs
Нельзя. Там на самом деле грид есть только в рамках того, что видно на экране. В этом принципиальная отличие DBGrid-а от StringGrid
Чтобы реализовать то что просишь надо переписывать базовый DBGrid

Re: Доработки Rx

СообщениеДобавлено: 05.12.2017 09:42:50
kit
Можна добавить возможность самому вводить поисковое значение колонки для фильтра в таблице?
Например слева от кнопки добавить TEdit, в нем ввожу слово для фильтра по колонке и писле нажатия Enter фильтровать по етой колонке.

Re: Доработки Rx

СообщениеДобавлено: 05.12.2017 16:01:34
alexs
смотри ревизию 6086.
Добавил новый стиль для фильтра в колонке - rxfstManualEdit
Работу можно посмотреть в примере demos/rxdbgrid/RxDBGrid/
Там колонка NAME

Добавлено спустя 58 секунд:
Только фильтрует оно на лету - нажатия Enter не требуется. Также жёстко пришито игнорирование регистра.

Re: Доработки Rx

СообщениеДобавлено: 15.12.2017 11:07:53
kit
Работает!!! Спасибо :D
А можна сделать два типа фильтра (rxfstManualEdit, rxfstDialog) в одном и сузить кнопку с тремя точками?

Re: Доработки Rx

СообщениеДобавлено: 15.12.2017 13:24:20
alexs
Ну и заявочки у вас :-)
Наверное можно. Только как стиль назвать?

Re: Доработки Rx

СообщениеДобавлено: 16.12.2017 09:54:24
kit
alexs писал(а):Ну и заявочки у вас :-)
Наверное можно. Только как стиль назвать?

Ето не у меня а у клиентов. Я переписал прогу с Delphi а там в EhLib такая возможность била и теперь клиенти ворчат что прога стала хуже.
Можно назвать rxfstManualEditDialog млм rxfstBoth

Re: Доработки Rx

СообщениеДобавлено: 18.12.2017 11:32:11
alexs
Хорошо. Подумаю.

Добавлено спустя 1 час 3 минуты 33 секунды:
Тестируй - ревизия 6101.

Re: Доработки Rx

СообщениеДобавлено: 19.12.2017 12:27:34
kit
alexs писал(а):Хорошо. Подумаю.

Добавлено спустя 1 час 3 минуты 33 секунды:
Тестируй - ревизия 6101.

Работает. Огромное спасибо :)

Re: Доработки Rx

СообщениеДобавлено: 08.01.2018 23:06:12
melwinek
Можете ли вы ускорить загрузку содержимого Combobox фильтра, если в таблице много строк?
Вы можете проверить это по этой ссылке? :
https://forum.lazarus.freepascal.org/in ... 532.0.html

Большое спасибо

Re: Доработки Rx

СообщениеДобавлено: 10.01.2018 12:32:17
alexs
готово - смотри ревизию 6125.

Re: Доработки Rx

СообщениеДобавлено: 10.01.2018 15:57:50
melwinek
Спасибо.
Можете ли вы повысить скорость загрузки данных в фильтры?
Обновление 4000 строк и 80 столбцов выполняется навсегда.

Re: Доработки Rx

СообщениеДобавлено: 10.01.2018 17:04:14
alexs
Я попробую.
Но хочу сказать - грид с 4000 записей - это плохо. Пользователь не посмотрит этот объём данных. Я сам стараюсь избегать таких запросов в своих прогаммах.

Re: Доработки Rx

СообщениеДобавлено: 11.01.2018 10:50:55
kit
melwinek писал(а):Спасибо.
Можете ли вы повысить скорость загрузки данных в фильтры?
Обновление 4000 строк и 80 столбцов выполняется навсегда.

Таблици из 80 столбцов лучше разделеть на несколько по 20 например.

Добавлено спустя 2 минуты 4 секунды:
alexs писал(а):Я попробую.
Но хочу сказать - грид с 4000 записей - это плохо. Пользователь не посмотрит этот объём данных. Я сам стараюсь избегать таких запросов в своих прогаммах.

4000 записей не просмотрит но фильтровать захотят.

Re: Доработки Rx

СообщениеДобавлено: 11.01.2018 12:23:53
alexs
Пока идей по ускорению нет. Сделал тестовый пример - порядка 5000 записей, 60 колонок. Время включения фильтра - 5 секунд.
Жду ваших предложений :-)

По факту - перед включением фильтра пробегаю по всему набору данных и для каждой колонки грида формирую список уникальных значений. Операция элементарная. Что тут можно ускорить? StringList для значений идёт с включённой сортировкой. Т.е. факт уникальности проверяется быстро.

Re: Доработки Rx

СообщениеДобавлено: 11.01.2018 18:33:24
rtn
Пожелания/хотелки по RxMDI:
1. Убрать или сделать опциональной отображение Caption у RxMDICloseButton (FCloseButton.FInfoLabel.Caption). (ChildWindow.Caption и так отображается на вкладке в RxMDITasks);
2. Сделать закрытие чайлдов щелчком средней кнопки мыши по вкладке (RxMDIButton). Как во многих браузерах;
3. После закрытия ChildWindow на RxMDITasks часто остаются вертикальные полоски. Воспроизводится легко. Создаем 1 чайлд с длинным Caption, второй с коротким. Закрываем первый и видим эту полоску. Invalidate в конце TRxMDITasks.UpdateScrollBtnStatus помогает;
4. Хотелось бы свойство-событие у TRxMDIPanel, что-то типа OnChangeCurrentChild (из названия наверно понятно);
5. Мне кажется когда нет ни одного чалда RxMDICloseButton лучше делать невидимой, а не неактивной, т.е. в FCloseButton.Enabled:=Assigned(FCurrentChildWindow) заменить на Visible.
А так, приятно пользоваться вашими компонентами. можно многому поучиться. Спасибо