środa, 2 listopada 2011

Stronicowanie w AX 2009

static void B2B_Paging_New(Args _args)
{
    Query       query;
    QueryRun    queryRun;
    InventTrans inventTrans;
    ;
    query = new Query();
    query.addDataSource(tableNum(InventTrans));

    // do stronicowanie wymagane jest co najmniej jedno pole sortowania
    query.dataSourceTable(tableNum(InventTrans)).addSortField( fieldNum(InventTrans, Recid), SortOrder::Descending);    

    queryRun = new QueryRun(query);

    // włącz stronicowanie
    queryRun.enablePositionPaging(true);

    // pobierz 10 rekordów zaczynając od rekordu 80000 
    queryRun.addPageRange(80000, 10);
    
    while(queryRun.next())
    {
        inventTrans = queryRun.get(tableNum(InventTrans));
        print inventTrans.RecId;
    }
    pause;
}