SPGridView фильтрация без объектного источника данных
Я создал SPGridView динамически (в коде для sharepoint), все работает нормально, разбивает на страницы, сортирует и т.д.... но я хочу сделать фильтрацию без использования ObjectDataSource (я сделал это с ObjectDataSource, назначив ID источника данных объекта для
Grid.DataSourceID = objectDatasourceID;
и filterig работает, но когда я редактирую строку, то при обновлении она не работает), поэтому я удалил ObjectDataSource и получил данные таблицы из БД и передал Grid.DataSource = DataTable; и Grid.DataBind(); и это работает нормально, но когда я пишу код для фильтрации, как
SPgv.AllowFiltering = true;
SPgv.FilterDataFields = "CODE_NAME";
SPgv.FilteredDataSourcePropertyName = "FilterExpression";
SPgv.FilteredDataSourcePropertyFormat = "{1} = '{0}'";
(SPgv - это SPGridView, а CODE_NAME - это имя столбца)
и когда я запускаю этот код, появляется меню с именем столбца, а также работает сортировка asc и desc, но при открытии меню возникает ошибка javascript, и значения в столбце CODE_NAME не отображаются, а загружается.. но ничего не появляется
Любая помощь в отношении фильтрации без ObjectDataSource будет принята с благодарностью, я не хочу никакого текстового поля, раскрывающегося списка для фильтрации Я хочу то же самое меню (которое отображается в SPGridView) для фильтрации, но без ObjectDataSource.
1 ответ
Как вы знаете, фильтрация SPGridView лучше всего работает с ObjectDataSource. Я предлагаю добавить выпадающий элемент управления и передать выбранное значение в ваш CAML-запрос для фильтрации.