2013-07-29 3 views
0

http://examples.ext.net/#/GridPanel/Paging_and_Sorting/XML_WebService/ Я просто добавлю этот пример: ext: GridFilters .thats all.I тестировал этот пример с ext: GridFilters, но didt дал мне отфильтрованные данные.ext.net: удаленная фильтрация с разбиением на страницы

вот код aspx;

<html> 
    <body> 
     <form id="form1" runat="server"> 

      <ext:ResourceManager ID="ResourceManager1" runat="server" /> 

      <ext:GridPanel 
       runat="server" 
       ID="GridPanel1" 
       Title="Employees" 
       Frame="true" 
       Height="300"> 
       <Store> 
        <ext:Store 
         ID="Store1" 
         runat="server" 
         RemoteSort="true" 
         RemoteFilter="true" 
         AutoSync="false" RemotePaging="true" 
         PageSize="5"> 
         <Proxy> 
          <ext:AjaxProxy Url="WebService1.asmx/PlantsPaging"> 
           <ActionMethods Read="GET" /> 
           <Reader> 
            <ext:XmlReader Record="Plant" TotalProperty="TotalRecords" /> 
           </Reader> 
          </ext:AjaxProxy> 
         </Proxy> 
         <Parameters> 
          <ext:StoreParameter Name="filter" Value="" Mode="Value" /> 
         </Parameters> 
         <Model> 
          <ext:Model ID="Model1" runat="server"> 
           <Fields> 
            <ext:ModelField Name="Common" /> 
            <ext:ModelField Name="Botanical" /> 
            <ext:ModelField Name="Light" /> 
            <ext:ModelField Name="Price" Type="Float" /> 
            <ext:ModelField Name="Availability" Type="Date" /> 
            <ext:ModelField Name="Indoor" Type="Boolean" /> 
           </Fields> 
          </ext:Model> 
         </Model> 
         <Sorters> 
          <ext:DataSorter Property="Common" Direction="ASC" /> 
         </Sorters> 
        </ext:Store> 
       </Store> 
         <Features> 
           <ext:GridFilters ID="GridFilters1" runat="server" Local="false" > 
            <Filters> 
             <ext:StringFilter DataIndex="Common" /> 
             <ext:StringFilter DataIndex="Botanical" /> 


            </Filters> 
           </ext:GridFilters> 
          </Features> 
       <ColumnModel ID="ColumnModel1" runat="server"> 
        <Columns> 
         <ext:Column ID="Column1" runat="server" Text="Common Name" DataIndex="Common" Sortable="true" Flex="1" /> 
         <ext:Column ID="Column2" runat="server" Text="Botanical" DataIndex="Botanical" Width="230" /> 
         <ext:Column ID="Column3" runat="server" Text="Light" DataIndex="Light" Width="130" /> 
         <ext:Column ID="Column4" runat="server" Text="Price" DataIndex="Price" Width="70" Align="right" /> 
         <ext:DateColumn ID="DateColumn1" runat="server" Text="Available" DataIndex="Availability" Width="95" Format="yyyy-MM-dd" /> 
         <ext:Column ID="Column5" runat="server" Text="Indoor?" DataIndex="Indoor" Width="55" /> 
        </Columns> 
       </ColumnModel> 
       <View> 
        <ext:GridView ID="GridView1" runat="server" LoadingText="Loading XML..." /> 
       </View>   
       <BottomBar> 
        <ext:PagingToolbar ID="PagingToolbar1" 
         runat="server"      
         DisplayInfo="true" 
         DisplayMsg="Displaying plants {0} - {1} of {2}" 
         EmptyMsg="No plants to display" 
         /> 
       </BottomBar> 
      </ext:GridPanel> 
     </form> 

    </body> 
    </html> 

Я называю этот метод веб-службы,

public Paging<Plant> PlantsPaging(int start, int limit, string sort, string filter) 
     { 

} 

но фильтр получить пустой.

+0

В чем проблема? Фильтры не работают или получают nullexception или что происходит? – MMMagic

+0

проблема; получает пустое значение. – sakir

+0

Я думаю, мне нужно соединение между параметром store и gridview, но не уверен – sakir

ответ

1

GridFilters с Local = "false" автоматически отправляет значения фильтров. Вам не нужно вводить в StoreParameter.

По умолчанию параметр «фильтр». Тем не менее, следующая подпись

[WebMethod] 
public Paging<SomeEntity> GetData(int start, int limit, string sort, string filter) 

может вызвать проблемы для запроса начальной загрузки, так как GridFilters отправляет добавляет параметр фильтра только тогда, когда любой фильтр применяется. Таким образом, если нет параметра фильтра, WebService выдает ошибку.

Итак, я могу порекомендовать вам использовать класс StoreRequestParameters.

[WebMethod] 
public Paging<SomeEntity> GetData() 
{ 
    StoreRequestParameters parameters = new StoreRequestParameters(this.Context); 
    return new Paging<SomeEntity>(...); 
} 
+0

как я поймаю на стороне сервера? Public Paging PlantsPaging (int start, int limit, string sort, string filter) .Из внутри переменной «filter»? – sakir

+0

Да, он должен быть там. –

+0

еще раз спасибо вам, что вы прекрасны. – sakir

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