Проблема с фильтрацией данных ExtNet & Json - PullRequest
1 голос
/ 07 июля 2011

Я новичок в asp.net и Ext.net, я хотел бы разработать несколько богатых интерфейсов, но у меня есть некоторые проблемы, я использую Ext.Net, чтобы сделать это, я получаю свои данные из веб-службы, котораяВозвратите объект Json, проблема в том, что у меня есть подкачка, поэтому я не рекуперирую все свои данные, я только рекуперирую необходимые для каждой страницы (удаленный пейджинг), например: 30 данных на страницу, у меня проблема, связанная с фильтрацией, я не знаюКак я могу приступить к фильтрации всех данных и отображения его.Я думаю, что мне нужно восстановить все данные и затем выполнить фильтр, но проблема в том, что у меня много данных (так что производительность ...), и у меня нет никакой идеи, чтобы получить решение. Мне нужна ваша помощьпожалуйста :) Спасибо, и хорошего дня

Ответы [ 2 ]

1 голос
/ 07 июля 2011

Я думаю, вам просто нужно передать параметры 'start' и 'limit'.Затем на стороне сервера ваша служба данных будет считывать эти параметры и соответствующим образом фильтровать ваши данные.

В следующем примере показана типичная конфигурация хранилища.

Пример

<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/

JSON, возвращенный из 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/

Надеюсь, это поможет.

0 голосов
/ 07 июля 2011

Если вы храните свои данные в базе данных SQL, вам не следует беспокоиться о производительности ... потому что SQL Engine может фильтровать данные из такого количества записей менее чем за секунду!
Если вы хотите фильтровать данные на стороне клиента, я предлагаю вам использовать методы JQuery .hide и .show. Таким образом, вы получите наилучшую производительность, поскольку делаете все на стороне клиента.

...