$aOrderBy[$sSortCol] = utils::ReadParam('sort_order', 'asc') == 'asc'; } } $iSortIndex++; } else { $aColumns[$sAlias][$sAttCode]['checked'] = false; } } } // Load only the requested columns $oSet = new DBObjectSet($oFilter, $aOrderBy, $aExtraParams, null, $iEnd - $iStart, $iStart); $oSet->OptimizeColumnLoad($aColumnsLoad); $oDataTable = new DataTable($iListId, $oSet, $oSet->GetSelectedClasses()); if ($operation == 'datatable') { // Redraw the whole table $sHtml = $oDataTable->UpdatePager($oPage, $iEnd - $iStart, $iStart); // Set the default page size $sHtml .= $oDataTable->GetHTMLTable($oPage, $aColumns, $sSelectMode, $iEnd - $iStart, $bDisplayKey, $aExtraParams); } else { // redraw just the needed rows $sHtml = $oDataTable->GetAsHTMLTableRows($oPage, $iEnd - $iStart, $aColumns, $sSelectMode, $bDisplayKey, $aExtraParams); } $oPage->add($sHtml); break; case 'datatable_save_settings': $oPage->SetContentType('text/plain'); $iPageSize = utils::ReadParam('page_size', 10); $sTableId = utils::ReadParam('table_id', null, false, 'raw_data'); $bSaveAsDefaults = utils::ReadParam('defaults', 'true') == 'true'; $aClassAliases = utils::ReadParam('class_aliases', array(), false, 'raw_data'); $aColumns = utils::ReadParam('columns', array(), false, 'raw_data');