我使用 ReadMultiple 函数从 Navision 服务检索过滤数据,如下所示。
var customers = postedInvService.ReadMultiple(filtercustomers.ToArray(), CustomerParams.bookmarkKey, -10);
这工作正常。但我的要求是首先从特定列中排序并获取记录。如何给出特定列以便对记录进行排序?
我使用 ReadMultiple 函数从 Navision 服务检索过滤数据,如下所示。
var customers = postedInvService.ReadMultiple(filtercustomers.ToArray(), CustomerParams.bookmarkKey, -10);
这工作正常。但我的要求是首先从特定列中排序并获取记录。如何给出特定列以便对记录进行排序?
有三种不同的方法可以解决这个问题。
使用SOAP Web 服务,setSize = 0
您可以获得整套结果。您可以使用LINQ对结果进行排序。例如。
var result = from serviceInvoice in
postedInvService.ReadMultiple(filtercustomers.ToArray(), null, 0)
orderby serviceInvoice.No
select serviceInvoice;
在 Dynamics NAV 开发环境中,还可以创建一个新的页面,该页面具有应有的字段和排序(属性SourceTableView)。
由于 Dynamics NAV 2013 页面也可以从支持服务器端排序和过滤的OData Web 服务中获取。例如http://localhost:7048/DynamicsNAV90/OData/Company('CRONUS%20International%20Ltd.')/postedInvService?$orderby=PostingDate