/**
  * Simple bootstrap table
  *
  * @return \ZfcDatagrid\Controller\ViewModel
  */
 public function bootstrapAction()
 {
     $row = array('displayName' => 'Wayne? John!');
     $row2 = array('displayName' => 'Name2');
     $data = array($row, $row2);
     /* @var $grid \ZfcDatagrid\Datagrid */
     $grid = $this->getServiceLocator()->get('Zf2datatable\\Datagrid');
     $grid->setTitle('Minimal grid');
     //you can change here the renderer (allowed: bootstrapTable / jqgrid...default is bootstrapTable
     $grid->setRendererName('jqGrid');
     $grid->setDataSource($data);
     $col = new Column\Select('displayName');
     $col->setLabel('Name');
     $grid->addColumn($col);
     $grid->render();
     return $grid->getResponse();
 }
Ejemplo n.º 2
0
 public function testGetFilterSelectExpression()
 {
     $col = new Column\Select('id', 'user');
     $this->assertFalse($col->hasFilterSelectExpression());
     $this->assertNull($col->getFilterSelectExpression());
     $col->setFilterSelectExpression('CONCAT(%s)');
     $this->assertEquals('CONCAT(%s)', $col->getFilterSelectExpression());
     $this->assertTrue($col->hasFilterSelectExpression());
 }
 /**
  * Usage
  * php index.php show example grid --page 1
  * php index.php show example grid --page 2
  *
  * @return \Zend\Http\Response\Stream
  */
 public function consoleAction()
 {
     /* @var $grid \ZfcDatagrid\Datagrid */
     $grid = $this->getServiceLocator()->get('zf2datatablegrid');
     $grid->setTitle('Persons');
     $grid->setDefaultItemsPerPage(5);
     $grid->setDataSource($this->getServiceLocator()->get('zfcDatagrid.examples.data.zendSelect')->getPersons());
     $col = new Column\Select('id');
     $col->setIdentity();
     $grid->addColumn($col);
     $col = new Column\Select('displayName');
     $col->setLabel('Displayname');
     $col->setWidth(25);
     $col->setSortDefault(1, 'ASC');
     $col->addStyle(new Style\Bold());
     $grid->addColumn($col);
     $col = new Column\Select('familyName');
     $col->setLabel('Familyname');
     $col->setWidth(15);
     $grid->addColumn($col);
     $col = new Column\Select('givenName');
     $col->setLabel('Givenname');
     $col->setWidth(15);
     $grid->addColumn($col);
     $col = new Column\Select('age');
     $col->setLabel('Age');
     $col->setWidth(10);
     $col->setType(new Type\Number());
     $grid->addColumn($col);
     $grid->render();
     return $grid->getResponse();
 }
    /**
     *
     * @return \ZfcDatagrid\Datagrid
     */
    private function getGrid()
    {
        /* @var $grid \ZfcDatagrid\Datagrid */
        $grid = $this->getServiceLocator()->get('ZfcDatagrid\\Datagrid');
        $grid->setTitle('Categories');
        $grid->setDefaultItemsPerPage(5);
        $grid->setDataSource($this->getServiceLocator()->get('zfcDatagrid.examples.data.phpArray')->getCategorys());
        $col = new Column\Select('id');
        $col->setIdentity();
        $grid->addColumn($col);
        $colParentId = new Column\Select('parentId');
        $colParentId->setHidden(true);
        $grid->addColumn($colParentId);
        $colHasChildren = new Column\Select('hasChildren');
        $colHasChildren->setHidden(true);
        $grid->addColumn($colHasChildren);
        $colTags = new Column\Select('tags');
        $colTags->setLabel('Tags');
        $colTags->setHidden(true);
        $colTags->setWidth(30);
        $colTags->setType(new Type\PhpArray());
        $grid->addColumn($colTags);
        $toggle = new Column\Action\Button();
        $toggle->setLabel('+');
        $toggle->addShowOnValue($colHasChildren, 'y');
        $toggle->setAttribute('onclick', 'console.log($(this).parent().parent().attr(\'id\'));$.get(\'/zfcDatagrid/category/tree\', function (data) {
            console.log(this);
            $.each(data.data, function (index, value) {
                $(\'#' . $grid->getId() . '\').jqGrid(\'addRowData\', value.idConcated, value, \'after\', 5);
             });
        });');
        $col = new Column\Action();
        $col->setLabel(' ');
        $col->setUniqueId('expandAction');
        $col->addAction($toggle);
        $grid->addColumn($col);
        $col = new Column\Select('name');
        $col->setLabel('Name');
        $col->setWidth(50);
        $col->setSortDefault(1);
        $col->setRendererParameter('formatter', '
            function (cellvalue, options, rowObject) {
                var valuePrint = cellvalue;

                $.each(rowObject.' . $colTags->getUniqueId() . ', function (index, value) {
                    valuePrint += \' <span class="label">\' + value + \'</span>\';
                });

                return valuePrint;
            }
        ', 'jqGrid');
        $grid->addColumn($col);
        $toggle = new Column\Action\Button();
        $toggle->setLabel('other action...');
        $toggle->addShowOnValue($colHasChildren, 'y');
        $toggle->setAttribute('onclick', 'alert(\'clicked\');');
        $col = new Column\Action();
        //         $col->setLabel('A');
        $col->addAction($toggle);
        $grid->addColumn($col);
        return $grid;
    }