2011-07-07 27 views
1

我是一个asp.net和Ext.net的初学者我想开发一些丰富的接口,但我有一些问题,我使用Ext.Net来做到这一点,我得到我的数据从一个Web服务返回Json对象的问题是,我有分页,所以我不恢复所有我的数据,我只恢复每页必要的(远程分页),例如:每页30个数据,我有它的问题有关过滤我不知道如何继续过滤所有数据并显示它。 我认为我必须恢复所有的数据,然后做过滤器,但问题是我有很多数据(所以性能...),我没有任何想法来检索解决方案。我需要你的请帮助:) 谢谢,祝你有美好的一天Filtring数据问题ExtNet&Json

+0

你在哪里存储你的数据? SQL数据库?文件?数组(在飞行中)? –

+0

数据存储在SQL数据库中 – Othman

回答

0

如果你正在将你的数据存储在一个SQL数据库中,所以你不应该关心性能......因为SQL引擎可以从少量的记录中过滤数据一秒!
如果您想过滤客户端数据,建议您使用JQuery.hide.show方法。所以当你在客户端做所有事情时,你将获得最佳性能。

+0

感谢您的回复,问题在于我实习的公司强迫我只使用Ext.Net和Web服务,感谢所有人,我发现了一个不降低性能的解决方案: ) – Othman

1

我想你只需要通过“开始”和“限制”参数。然后在服务器端,您的数据服务将读取这些参数并相应地过滤数据。

以下示例演示典型的商店配置。

<ext:Store runat="server" RemoteSort="true"> 
    <Proxy> 
     <ext:HttpProxy Method="GET" Url="../../Shared/PlantHandler.ashx" /> 
    </Proxy> 
    <AutoLoadParams> 
     <ext:Parameter Name="start" Value="0" /> 
     <ext:Parameter Name="limit" Value="5" /> 
    </AutoLoadParams> 
    <Reader> 
     <ext:JsonReader Root="Data" TotalProperty="TotalRecords"> 
      <Fields> 
       <ext:RecordField Name="Common" /> 
       <ext:RecordField Name="Botanical" /> 
       <ext:RecordField Name="Light" /> 
       <ext:RecordField Name="Price" Type="Float" /> 
       <ext:RecordField Name="Availability" Type="Date" /> 
       <ext:RecordField Name="Indoor" Type="Boolean" /> 
      </Fields> 
     </ext:JsonReader> 
    </Reader> 
    <SortInfo Field="Common" Direction="ASC" /> 
</ext:Store> 

下面的几个服务器端分页/排序的例子可能有助于:

JSON从ashx的处理程序返回

http://examples.ext.net/#/GridPanel/Paging_and_Sorting/Handler/

Ĵ SON从XML WebService的

http://examples.ext.net/#/GridPanel/Paging_and_Sorting/JSON_WebService/

XML从XML WebService的

http://examples.ext.net/#/GridPanel/Paging_and_Sorting/XML_WebService/

希望这有助于恢复回来。