Сортировка по Вычесляемому Полю
проблема следующего характера, есть таблица (с sql сервера)
подключаем, размещаем в Бенде Data всё работает
создаем вычисляемое поле (поле формируется из функции типа String, в функцию передается поле из таблицы (тоже String))
делаем сортировку по вычисляемому полю, возвращается ошибка
Интерфейс IComparer (или методы IComparable), на основе которых он создан) не вернул ноль, когда метод Array.Sort вызвал x. CompareTo(x). x:
System.Data.DataRow типа: x: "DataRow" Интерфейс IComparer: "FastReport.Data.DataSourceBase+Dafl<набор рандомных символоов>
если в поле сортировки указать саму функцию, то сортрует нормально, но получается, что сперва FR формирует и вычисляет всё поле, затем делает всё еще раз во время сортировки... хотелось бы сразу по полю. Отображается поле в Дата бенде нормально, но сортироваться по нему не хочет а очень охото!
нужно это для группировки, но для неё поля надо сортировать либо в самом бенде, либо в группе, что как я понимаю равносильно. но не сортирует не там, не там Хелп я знаю, вы знаете в чем проблем )
(вся работа идет с данным String, типы везде объявлены аналогичные
могу выслать пример в личку, но его можно сделать за 5 минут, только что пробовал, int32 (вычисляемые) поля тоже не работают с такой же ошибкой!
подключаем, размещаем в Бенде Data всё работает
создаем вычисляемое поле (поле формируется из функции типа String, в функцию передается поле из таблицы (тоже String))
делаем сортировку по вычисляемому полю, возвращается ошибка
Интерфейс IComparer (или методы IComparable), на основе которых он создан) не вернул ноль, когда метод Array.Sort вызвал x. CompareTo(x). x:
System.Data.DataRow типа: x: "DataRow" Интерфейс IComparer: "FastReport.Data.DataSourceBase+Dafl<набор рандомных символоов>
в System.Array.SorterObjectArray.SwapIfGreaterWithItems(Int32 a, Int32 b)
в System.Array.SorterObjectArray.QuickSort(Int32 left, Int32 right)
в System.Array.Sort(Array keys, Array items, Int32 index, Int32 length, IComparer comparer)
в System.Collections.ArrayList.Sort(Int32 index, Int32 count, IComparer comparer)
в System.Collections.ArrayList.Sort(IComparer comparer)
в FastReport.Data.DataSourceBase.Init(Relation relation, String filter, SortCollection sort)
в FastReport.Data.DataSourceBase.Init(DataSourceBase parentData, String filter, SortCollection sort)
в FastReport.DataBand.InitDataSource()
в FastReport.GroupHeaderBand.N9FPctQji()
в FastReport.Engine.ReportEngine.ogwDZp0Hw(GroupHeaderBand )
в FastReport.Engine.ReportEngine.8caPnqWKit(BandCollection )
в FastReport.Engine.ReportEngine.OcePtFrWXp(ReportPage )
в FastReport.Engine.ReportEngine.pkhPljh5jG()
в FastReport.Engine.ReportEngine.YGY4Z4AQ3(Boolean , Boolean , ReportPage )
в FastReport.Engine.ReportEngine.LXb93sCn3(Boolean , Boolean )
в FastReport.Report.Prepare(Boolean append)
в FastReport.Report.Prepare()
в TIBYLe4OxXrKLP04F1B.jUf7Et4NSv4sh0EOmaM.2xhLLpi0b()
если в поле сортировки указать саму функцию, то сортрует нормально, но получается, что сперва FR формирует и вычисляет всё поле, затем делает всё еще раз во время сортировки... хотелось бы сразу по полю. Отображается поле в Дата бенде нормально, но сортироваться по нему не хочет а очень охото!
нужно это для группировки, но для неё поля надо сортировать либо в самом бенде, либо в группе, что как я понимаю равносильно. но не сортирует не там, не там Хелп я знаю, вы знаете в чем проблем )
(вся работа идет с данным String, типы везде объявлены аналогичные
могу выслать пример в личку, но его можно сделать за 5 минут, только что пробовал, int32 (вычисляемые) поля тоже не работают с такой же ошибкой!
Комментарии
Спасибо