⚠ In case you've missed it we are migrating to our new website, with a brand new forum. For more details about the migration you can read our blog post for website migration. This forum is read-only and soon will be archived. ⚠


Member Since 06 Dec 2017
Offline Last Active May 13 2018 09:20 AM

Topics I've Started

Multiple Grids in one page

23 February 2018 - 01:04 PM



I have purchased the Grocery Crud Enterprise to use multiple Grids ans now I cannot achieve my objective.


I am trying to make a Multiple Grids in on page based on example located at page https://www.groceryc...multiple-grids.

The code is simple but I am sure that someting is missing because noting happens. In your example in Code Igniter you have only 3 functions. All functions return something ... where happens the page generation ?


It's not possible to have a conroller with a multiple Grids sample like in the community version ?

Please Help me ...

I cannot achieve this ...


My code is 


<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
include(APPPATH . 'libraries/GroceryCrudEnterprise/autoload.php');
use GroceryCrud\Core\GroceryCrud;
class Examples extends CI_Controller {
public function __construct()
// You can simply remove these lines once you have base_url installed correctly
$config = [];
include(APPPATH . 'config/config.php');
if ($config['base_url'] === '') {
show_error('You forgot to application/config/config.php . For more check the video tutorial here: <a href="https://youtu.be/X0gnDD0qTS8?t=24s" target="_blank">Common mistakes when we install Grocery CRUD</a>');
// In case you will need grocery CRUD community edition, just
// uncomment the below line :)
// $this->load->library('grocery_CRUD');   
public function _example_output($output = null)
if (isset($output->isJSONResponse) && $output->isJSONResponse) {
            header('Content-Type: application/json; charset=utf-8');
            echo $output->output;
public function index()
$this->_example_output((object)array('output' => '' , 'js_files' => array() , 'css_files' => array()));
public function customers_management()
$crud = $this->_getGroceryCrudEnterprise();
$crud->setSubject('Customer', 'Customers');
$crud->displayAs('salesRepEmployeeNumber','from Employeer')
->displayAs('contactLastName','Last Name');
$output = $crud->render();
private function _getDbData() {
        $db = [];
        include(APPPATH . 'config/database.php');
        return [
            'adapter' => [
                'driver' => 'Pdo_Mysql',
                'host'     => $db['default']['hostname'],
                'database' => $db['default']['database'],
                'username' => $db['default']['username'],
                'password' => $db['default']['password'],
                'charset' => 'utf8'
private function _getGroceryCrudEnterprise($bootstrap = true, $jquery = true) {
        $db = $this->_getDbData();
        $config = include(APPPATH . 'config/gcrud-enteprise.php');
        $groceryCrud = new GroceryCrud($config, $db);
        return $groceryCrud;
public function demo_multigrid() {
    $crud = $this->_getGroceryCrudEnterprise();
    $output = $crud->render();
    $crud2 = $this->_getGroceryCrudEnterprise();
    $output2 = $crud->render();
    $output->output .= '
' . $output2->output;
public function demo_example_films() {
    $crud = $this->_getGroceryCrudEnterprise();
    $crud->setSubject('Film', 'Films');
    $crud->setRelationNtoN('actors', 'film_actor', 'actor', 'film_id', 'actor_id', 'fullname');
    $crud->setRelationNtoN('categories', 'film_category', 'category', 'film_id', 'category_id', 'name');
    return $crud->render();
public function demo_example_customers() {
    $crud = $this->_getGroceryCrudEnterprise();
    $crud->setSubject('Customer', 'Customers');
    return $crud->render();




Visibility and Column Reordering

06 December 2017 - 09:39 AM



You used dataTable for the rendering of your result.

I used dataTable also in my reporting tool.

In dataTable, 2 extensions are really incredible and fit the requirements of 90% of the users :

- Buttons (with visibility) which allows to hide fieldshttps://datatables.n...nsions/buttons/

- Col Reorder which allows to reorder fields : https://datatables.n...ons/colreorder/


These 2 extensions makes dataTable very powerfull and very customizable because settings for these 2 extension are stored in LocalStorage.

Visibility (via Button) allows also to search into hidden fields. Amazing for most of the users.


I think that if you implement these 2 extension, your Grocery Crud could be award winning CRUD.


PS : I am Business Architect and Analyst.