rxMemDataset + rxDBGrid - сортировка

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

Lucifer
постоялец
Сообщения: 132
Зарегистрирован: 05.01.2014 21:39:03
Откуда: Новороссийск

rxMemDataset + rxDBGrid - сортировка

Сообщение Lucifer »

А как в самом гриде работает сортировка из встроенной формы? Попробовал - вылетает AV. Полез смотреть, а сортировки там как раз и нет. Тело процедуры пустое. Пришлось переписать на kbMemTable.
MaratIsk
постоялец
Сообщения: 125
Зарегистрирован: 20.08.2009 18:15:20

Сообщение MaratIsk »

TRxMemoryData
SortOnFields(FieldName);
SortOnFields(FieldName, TRUE, TRUE);
Lucifer
постоялец
Сообщения: 132
Зарегистрирован: 05.01.2014 21:39:03
Откуда: Новороссийск

Сообщение Lucifer »

Да про это я в курсе. Не совсем удобно, но можно. Хотелось бы заюзать механизм самого грида.
MaratIsk
постоялец
Сообщения: 125
Зарегистрирован: 20.08.2009 18:15:20

Сообщение MaratIsk »

так грид это и будет делать под капотом
Lucifer
постоялец
Сообщения: 132
Зарегистрирован: 05.01.2014 21:39:03
Откуда: Новороссийск

Сообщение Lucifer »

Так вот не делает же. AV вылезает.
Эх, ладно. Хотел малой кровью обойтись, чтоб не придумывать для юзверей сложности.
MaratIsk
постоялец
Сообщения: 125
Зарегистрирован: 20.08.2009 18:15:20

Сообщение MaratIsk »

это для тебя пользователи - юзвери, а ты обычный дилетант
Lucifer
постоялец
Сообщения: 132
Зарегистрирован: 05.01.2014 21:39:03
Откуда: Новороссийск

Сообщение Lucifer »

MaratIsk писал(а):это для тебя пользователи - юзвери, а ты обычный дилетант
Хамить-то зачем? Или у тебя такой стиль общения?
Аватара пользователя
alexs
долгожитель
Сообщения: 4066
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь
Контактная информация:

Сообщение alexs »

Грид не сортирует данные. В принципе. Он о данных вообще ничего не знает.
Сортировка идёт через вывозвы методов сортировок в датасетах.
Аватара пользователя
Sharfik
энтузиаст
Сообщения: 836
Зарегистрирован: 20.07.2013 01:04:30

Сообщение Sharfik »

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

Сообщение alexs »

Не надо путать компонеты отображения данных и компоненты, содержащие данные.
Грид - это просто визуальное отображение произвольных данных. А сами данные находятся в датасете - и он может быть любым.
Аватара пользователя
Sharfik
энтузиаст
Сообщения: 836
Зарегистрирован: 20.07.2013 01:04:30

Сообщение Sharfik »

Да пусть где хотят находятся, им ничто не мешает отображаться в нужной последовательности. VirtualStringTree же может считывать память перед отрисовкой и при этом сортирует как угодно.
sts
энтузиаст
Сообщения: 519
Зарегистрирован: 04.04.2008 12:15:44
Откуда: Тольятти

Сообщение sts »

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

Сообщение alexs »

А в чём проблема то собственно? Что не получается?
Можно вменяемый пример кода? На каком датасете не поулчается отсортировать?
Lucifer
постоялец
Сообщения: 132
Зарегистрирован: 05.01.2014 21:39:03
Откуда: Новороссийск

Сообщение Lucifer »

Да запросто. Берем грид, включаем у него Sort Form в свойствах. Собственно, открываем в гриде сию форму, добавляем поля, по которым хотим сортировать. И получаем AV. Собственно, датасет тут вообще не при чем. Он совершенно любой может быть. В данный момент я использую kbmMemTablePro, он мне больше нравится, да и возможностей у него сильно больше.

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

Сообщение alexs »

Спасибо за конкретный пример.
Я понял в чём проблема.
Сортирощик работает если есть драйвер сортировки для соотвествующего набора данных. для kbmMemTablePro я не делал такой - не пользуюсь им.
То что появляется ошибка - поправлю.
kbmMemTablePro - где взять этот пакет?

Добавлено спустя 13 минут 53 секунды:
Ошибку поправил в 9413 ревизии.
А вот сортировщик - нужно посмотреть на пакет
Ответить