Я использую GridView для привязки с использованием объекта ObjectDataSource с использованием свойства DataSource. Теперь проблема в том, что я имею в поле целого числа, которое показано, как показано ниже:Сортировка GridView не работает с ObjectDataSource
<asp:GridView ... DataSource="MyObjectDataSource" OnSorting="MyGrdView_Sorting" >
<Columns>
<asp:BoundField DataField="IntegerField" Visible="False" SortExpression="IntegerField" />
</Columns>
</asp:GridView>
Я также захватить событие RowCommand для моей бизнес-логике цели и огнем() метод GridView там сортировки. В случае, если я запускаю метод Sort() из обработчика сортировки событий, я получаю исключение переполнения стека, о котором я не знаю, почему это происходит?
Наконец, даже после выполнения правильных вещей, которые, как я думаю, здесь не происходит, сортировка просто не работает в моем GridView с IntegerField. Что я делаю неправильно? :(
Я просто делаю ((GridView) отправитель) .Sort («IntegerField», SortDirection.Ascending); в обработчике MyGrdView_Sorting. Однако, делая это, я получаю исключение Stack Overflow, поэтому теперь я делаю то же самое в своей бизнес-логике. – 2009-03-26 05:41:00
Привет, Нет такого свойства с именем ObjectDataSource.CanSort. Во-первых, CanSort является свойством ObjectDataSourceView, а во-вторых, это свойство только для чтения, которое невозможно установить. Однако я понимаю, почему я получаю исключение переполнения стека с объясненным шаблоном. Благодаря! – 2009-03-26 12:34:25
@Anonymous: Правда, я слишком быстро прочитал реализацию ExecuteSelect. Свойство ObjectDataSourceView.CanSort жестко запрограммировано для возврата true, поэтому достаточно указать SortParameterName. – sisve