Thursday 17 October 2013

Code to implement paging in AX 2012

Guys below is the code to implement paging in AX 2012 
Important point worth special mention is that you have to have a proper sort by in place without which it won’t work.
And apart from doing the enablePositionPaging there is one more possibility namely enableValueBasedPaging but you need to make a value based decision which type of paging you want to do and why?

 static void ImplementPaging(Args _args)
 {
     Query query = new Query();
     QueryBuildDataSource qbds;
     QueryRun qr;
     Tableid tableId;
     Common common;
     tableid = tablename2id('VendTable');
     //Add a datasource to a query 
    qbds = query.addDataSource(tableid); 
    //Order by accountnum
    qbds.addOrderByField(fieldname2id(tableid,'AccountNum'));
    //Instantiate a Queryrun class 
   qr = new QueryRun(Query);
   qr.literals(true);
   // Enable position paging for the queryrun object
    qr.enablePositionPaging(true);
   //Add a range by providing the parameters as starting record number and number of records              qr.addPageRange(1,10);
 while (qr.next())
 {
         common = qr.getNo(1);
         info(strFmt("% 1 :",common.(Fieldname2id(tableid, 'AccountNum'))));
 }
 }

 There are other possibility as well to do paging with the help of Meta Services that have found its place in AX 2012 , but that is outside the current purview but if somebody is interested he can approach me in person.

No comments:

Update NuGet package to new MS D365FO version

1. Import the NuGet package files from LCS for that particular version please take the PU version files only. a. Goto LCS-->Asset Libra...