private function loadDataGrid()
{
// fetch query and parameters
list($query, $parameters) = $this->buildQuery();
// create datagrid
$this->dgGroups = new BackendDataGridDB($query, $parameters);
// overrule default URL
$this->dgGroups->setURL(BackendModel::createURLForAction(null, null, null, array('offset' => '[offset]', 'order' => '[order]', 'sort' => '[sort]', 'name' => $this->filter['name']), false));
// sorting columns
$this->dgGroups->setSortingColumns(array('name', 'members_count'), 'name');
// set the amount of profiles
$this->dgGroups->setColumnFunction(array(__CLASS__, 'parseNumProfiles'), array('[id]', '[members_count]'), 'members_count');
// check if this action is allowed
if (BackendAuthentication::isAllowedAction('Index')) {
$this->dgGroups->setColumnURL('members_count', BackendModel::createURLForAction('Index') . '&group=[id]');
}
// check if this action is allowed
if (BackendAuthentication::isAllowedAction('EditGroup')) {
$this->dgGroups->setColumnURL('name', BackendModel::createURLForAction('EditGroup') . '&id=[id]');
$this->dgGroups->addColumn('edit', null, BL::getLabel('Edit'), BackendModel::createURLForAction('EditGroup') . '&id=[id]');
}
}