2009-12-04 4 views
0

Я хотел бы отсортировать весь набор данных вместо сортировки по страницам. Но по какой-то причине он сортирует страницу за страницей, а не весь набор данных. Не могли бы вы помочь мне в этой проблеме. группировка магазина.Вопросы сортировки и подкачки

var store = new FMP.AspNetJsonStore({ 
     fields: [ 
         { name: 'AssetID' }, 
         { name: 'AssociationID' }, 
         { name: 'Image' }, 
         { name: 'StatusName' }, 
         { name: 'ModelName' }, 
         { name: 'IPAddress' }, 
         { name: 'InScope', type: 'boolean' }, 
         { name: 'ServicePlanName' }, 
         { name: 'PricePlanName' }, 
         { name: 'PricePlanDescription' }, 
         { name: 'Program' }, 
         { name: 'ServicePlanID' }, 
         { name: 'Customer' }, 
         { name: 'Black', type: 'float' }, 
         { name: 'Cyan', type: 'float' }, 
         { name: 'Magenta', type: 'float' }, 
         { name: 'Yellow', type: 'float' }, 
         { name: 'BlackPct' }, 
         { name: 'CyanPct' }, 
         { name: 'MagentaPct' }, 
         { name: 'YellowPct' }, 
         { name: 'PrinterMarkerSupplies' }, 
         { name: 'PageCount' }, 
         { name: 'BlackImpressions' }, 
         { name: 'ColorImpressions' }, 
         { name: 'PricePlanID' }, 
         { name: 'ResponsibilityForAction' }, 
         { name: 'PrinterSerialNumber' } 

        ], 

     totalProperty: "TotalCount", 
     autoLoad: { params: { start: 0, limit: myPageSize} }, 
     //autoLoad: true, 
     proxy: new Ext.data.HttpProxy({ 
      // Call web service method using GET syntax 
      url: 'GetPrintersGrid.asmx/buildGrid', 
      // Ask for Json response 
      headers: { 'Content-type': 'application/json' }, 
      method: "GET" 
     }), 
     //remoteSort: true, 
     sortInfo: { field: 'PageCount', direction: "DESC" }, 
     groupField: 'Customer', 
     root: 'Records' 
    }); 

Это мой веб-сервис.

public PagedResult<FMPAsset> buildGrid(int start, int limit) 
{ 
    Guid AccountID = (Guid)Session["AccountID"]; 
    string whereClause = "SELECT value a FROM XSP_AssetList_V AS a WHERE a.AccountID = GUID'" + AccountID + "'"; 
    List<FMPAsset> fmpAssets = new List<FMPAsset>(); 



    using (XSPAssetModel.XSPAssetEntities assetEntities = new XSPAssetEntities(b.BuildEntityConnectionString1("XSMDSN"))) 
    { 
     ObjectQuery<XSP_AssetList_V> assets = new ObjectQuery<XSP_AssetList_V>(whereClause, assetEntities); 
     var assetPage = assets.OrderBy(x=>x.StatusName).Skip(start).Take(limit); 
     var totalAssetCount = assets.Count(); 


     currentAssets = assetPage.ToList(); 
     int currentAssetsCount = currentAssets.Count; 
     string imgprefix = System.Configuration.ConfigurationManager.AppSettings["ImgPrefix"]; 
     char[] separators = { '/' }; 
     string appname = ""; 
     int lastloc = imgprefix.Substring(0, imgprefix.Length - 1).LastIndexOfAny(separators); 
     if (lastloc > 6) 
     { 
      appname = imgprefix.Substring(lastloc + 1); 
     } 


     FMPAsset asset = new FMPAsset(); 

     //StreamWriter sw = new StreamWriter("C:\\test.txt"); 

     XSPPrinterMarkerSupplyModel.XSPPrinterMarkerSupplyEntities markerCtx = new XSPPrinterMarkerSupplyModel.XSPPrinterMarkerSupplyEntities(b.BuildEntityConnectionString1("XSMDSN")); 

     for (int x = 0; x < currentAssetsCount; x++) 
     { 
      asset = new FMPAsset(); 

      asset.AssetID = currentAssets[x].AssetID.ToString(); 
      asset.PricePlanID = currentAssets[x].PricePlanID.ToString(); 
      asset.AssociationID = currentAssets[x].AssociationID; 
      asset.ModelName = currentAssets[x].ModelName; 
      asset.ResponsibilityForAction = currentAssets[x].ResponsibilityForAction; 
      asset.IPAddress = (String.IsNullOrEmpty(currentAssets[x].PrinterIPAddress)) ? "No IP" : currentAssets[x].PrinterIPAddress; ; 

          Guid id = currentAssets[x].AssetID; 

      asset = SetCMYKvalues(asset, x); 

      BuilldImpressionsValues(currentAssets[x], ref asset); 
      fmpAssets.Add(asset); 
     } 


     var y = new PagedResult<FMPAsset>(); 
     y.Records = fmpAssets; 
     y.TotalCount = totalAssetCount; 
     return y; 




    } 

} 

Я также пытался сортировать все записи, а затем возвращаются только первые 10 записей, но я не был в состоянии сортировать весь набор данных вместо этого он делал страницу страницы.

Спасибо.

ответ

0

remoteSort: булево верно, если сортировка будет обрабатываться путем запроса прокси-сервер, чтобы обеспечить обновленный вариант объекта данных в отсортированном порядке, в отличие от сортировки кэш записи на месте (по умолчанию FALSE).

Попробуйте установить remoteSort в true.

+0

Итак, похоже, ваша проблема связана с предложением OVER. Я предлагаю извлечь ваш SQL (вы уже это сделали) и с помощью консоли для вашей базы данных исправить SQL (или переконфигурировать базу данных). Когда это работает, верните новый новый SQL в код бэкэнд и повторите попытку. – Upperstage

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