2010-01-27 2 views
2

Я привязываю SqlDatasource к GridView двумя разными способами.ASP.NET GridView SqlDatasource Programmatic Databinding Sorting

1) Объявление SqlDataSource на странице .aspx и установив свойство DataSourceID на GridView его идентификатору

2) Создание в SqlDataSource в коде позади и привязка к источнику данных свойств

Когда я используйте декларативный метод (1), сортировка работает отлично, без какой-либо дополнительной работы с моей стороны, но если я создам SqlDatasource в коде позади и попытаюсь сортировать, я получаю исключение, говорящее «Событие GridView myGridView», которое сортировало, которое wasn «обработано».

Я предполагаю, что есть какая-то дополнительная сантехника, которая возникает при использовании первого метода. Кто-нибудь знает, что делает метод datasourceid, которого нет у программного? Я хотел бы дублировать логику кода по возможности, если это возможно.

ответ

1

GridView проверяет, привязана ли данная информация с использованием свойства DataSourceId, а если это не так, то для сортировки необходимо обработать событие Sorting.

ли вы попробуйте добавить SqlDatasource, который вы создали программно в иерархии управления страницы (например, в PlaceHolder), а затем связывание GridView к нему с помощью DataSourceId недвижимость? Я не пробовал этого, но он должен работать.

Смежные вопросы