2013-12-06 2 views
0

У меня есть Gridview и объект DataSource, который отлично подходит для сортировки и подкачки.Фильтрация GridView с помощью ObjectDataSource с использованием пользовательского подкачки

Определено как;

<asp:ObjectDataSource runat="server" ID="oPagedData" SelectMethod ="GetPagedData" TypeName="PagedSortableGridView" EnablePaging="true" SelectCountMethod="GetTotalOfData" 
    SortParameterName="sortExpression" > 
    </asp:ObjectDataSource> 

Я хочу добавить в фильтрации, так что я могу взять значение из текстового поля и Флажок, и применить это к моим данным (которые извлекаются с помощью EntLib).

Если добавить

<FilterParameters> 
     <asp:formparameter name="Name" formfield="tags" defaultvalue="%%" Type="string" /> 
     <asp:formparameter name="showArchived" formfield="showArchived" defaultvalue="false" /> 
    </FilterParameters> 

в ObjectDataSource, то все нормально компилируется. Но я не вижу, как я затем обращаюсь к этим параметрам в своем коде linq.

(я попытался добавить массив Params, или 2 явных PARAMS в вызове метода, который извлекает data public List<Dealerships> GetPagedData , но потом, когда я просматриваю к этой странице он не как он ожидает вызова метода только с 3 Params , столбец сортировки, строки на страницу и текущий индекс.)

Так что мне нужно определить другой вызов метода в ods для фильтрации или есть способ доступа к фильтрации в методе GetPagedData, чтобы я мог retireve и страницы мои данные за один раз?

Я посмотрел в использовании

oPagedData_Filtering(object sender, ObjectDataSourceFilteringEventArgs e) 

но ожидает, чтобы сидеть на моем коде позади, не в PagedSortableGridView классе с моим GetTitalData и GetPagedData методами.

ответ

1

Добавить явные параметры ваших GetPagedData и GetTotalOfData методов, а также использовать SelectParameters, а не FilterParameters на ObjectDataSource.

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