Показать сообщение отдельно
Старый 28.11.2007, 11:57   #5  
kashperuk is offline
kashperuk
Участник
Аватар для kashperuk
MCBMSS
Соотечественники
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,361 / 2084 (78) +++++++++
Регистрация: 30.05.2004
Адрес: Atlanta, GA, USA
1. Я бы на RecId не завязывался - это раз. Он может иметь различные значения, и вовсе не упорядоченные.
2. Я бы добавил поле в таблицу типа Int или int64 (если записей оочень много, что врядли).
3. Сортировку сделал бы по этому полю в порядке возрастания. Создал бы соответствующий индекс (это пригодиться еще и на шаге 4), и указал бы его в свойствах источника данных.
4. Создал бы дисплей метод на уровне таблицы, который бы возвращал сумму значений всех записей таблицы, у которых значение добавленного поля меньше значения этого поля у текущей записи. (меньше или равно, в зависимости от ваших требований)
5. Метод этот скорее всего закэшировал бы (нужно уже смотреть, как работать будет в обоих случаях).
Тогда сортировка не была бы привязана к "порядку выборки".
Но при этом пользователю запрещено было бы сортировать записи по другим полям, или же фильтровать их.