0 follower

CGridColumn

Package zii.widgets.grid
Inheritance abstract class CGridColumn » CComponent
Subclasses CButtonColumn, CCheckBoxColumn, CDataColumn, CLinkColumn
Since 1.1
Source Code framework/zii/widgets/grid/CGridColumn.php
CGridColumn is the base class for all grid view column classes.

A CGridColumn object represents the specification for rendering the cells in a particular grid view column.

In a column, there is one header cell, multiple data cells, and an optional footer cell. Child classes may override renderHeaderCellContent, renderDataCellContent and renderFooterCellContent to customize how these cells are rendered.

Public Properties

Hide inherited properties

PropertyTypeDescriptionDefined By
cssClassExpression string a PHP expression that is evaluated for every data cell and whose result is used as the CSS class name for the data cell. CGridColumn
filterCellContent string Returns the filter cell content. CGridColumn
filterHtmlOptions array the HTML options for the filter cell tag. CGridColumn
footerCellContent string Returns the footer cell content. CGridColumn
footerHtmlOptions array the HTML options for the footer cell tag. CGridColumn
grid CGridView the grid view object that owns this column. CGridColumn
hasFooter boolean whether this column has a footer cell. CGridColumn
headerCellContent string Returns the header cell content. CGridColumn
headerHtmlOptions array the HTML options for the header cell tag. CGridColumn
htmlOptions array the HTML options for the data cell tags. CGridColumn
id string the ID of this column. CGridColumn
visible boolean whether this column is visible. CGridColumn

Public Methods

Hide inherited methods

MethodDescriptionDefined By
__call() Calls the named method which is not a class method. CComponent
__construct() Constructor. CGridColumn
__get() Returns a property value, an event handler list or a behavior based on its name. CComponent
__isset() Checks if a property value is null. CComponent
__set() Sets value of a component property. CComponent
__unset() Sets a component property to be null. CComponent
asa() Returns the named behavior object. CComponent
attachBehavior() Attaches a behavior to this component. CComponent
attachBehaviors() Attaches a list of behaviors to the component. CComponent
attachEventHandler() Attaches an event handler to an event. CComponent
canGetProperty() Determines whether a property can be read. CComponent
canSetProperty() Determines whether a property can be set. CComponent
detachBehavior() Detaches a behavior from the component. CComponent
detachBehaviors() Detaches all behaviors from the component. CComponent
detachEventHandler() Detaches an existing event handler. CComponent
disableBehavior() Disables an attached behavior. CComponent
disableBehaviors() Disables all behaviors attached to this component. CComponent
enableBehavior() Enables an attached behavior. CComponent
enableBehaviors() Enables all behaviors attached to this component. CComponent
evaluateExpression() Evaluates a PHP expression or callback under the context of this component. CComponent
getDataCellContent() Returns the data cell content. CGridColumn
getEventHandlers() Returns the list of attached event handlers for an event. CComponent
getFilterCellContent() Returns the filter cell content. CGridColumn
getFooterCellContent() Returns the footer cell content. CGridColumn
getHasFooter() Returns whether this column has a footer cell. This is determined based on whether footer is set. CGridColumn
getHeaderCellContent() Returns the header cell content. CGridColumn
hasEvent() Determines whether an event is defined. CComponent
hasEventHandler() Checks whether the named event has attached handlers. CComponent
hasProperty() Determines whether a property is defined. CComponent
init() Initializes the column. CGridColumn
raiseEvent() Raises an event. CComponent
renderDataCell() Renders a data cell. CGridColumn
renderFilterCell() Renders the filter cell. CGridColumn
renderFooterCell() Renders the footer cell. CGridColumn
renderHeaderCell() Renders the header cell. CGridColumn

Protected Methods

Hide inherited methods

MethodDescriptionDefined By
renderDataCellContent() Renders the data cell content. CGridColumn
renderFilterCellContent() Renders the filter cell content. CGridColumn
renderFooterCellContent() Renders the footer cell content. CGridColumn
renderHeaderCellContent() Renders the header cell content. CGridColumn

Property Details

cssClassExpression property
public string $cssClassExpression;

a PHP expression that is evaluated for every data cell and whose result is used as the CSS class name for the data cell. In this expression, you can use the following variables:

  • $row the row number (zero-based).
  • $data the value provided by grid view object for the row.
  • $this the column object.
Type of the $data depends on data provider which is passed to the grid view object. In case of CActiveDataProvider, $data will have object type and its values are accessed like $data->property. In case of CArrayDataProvider or CSqlDataProvider, it will have array type and its values must be accessed like $data['property'].

The PHP expression will be evaluated using evaluateExpression.

A PHP expression can be any PHP code that has a value. To learn more about what an expression is, please refer to the php manual.
filterCellContent property read-only (available since v1.1.16)
public string getFilterCellContent()

Returns the filter cell content. The default implementation simply returns an empty column. This method may be overridden to customize the rendering of the filter cell (if any).

filterHtmlOptions property
public array $filterHtmlOptions;

the HTML options for the filter cell tag.

public string $footer;

the footer cell text. Note that it will not be HTML-encoded.

footerCellContent property read-only (available since v1.1.16)
public string getFooterCellContent()

Returns the footer cell content. The default implementation simply returns footer. This method may be overridden to customize the rendering of the footer cell.

footerHtmlOptions property
public array $footerHtmlOptions;

the HTML options for the footer cell tag.

grid property
public CGridView $grid;

the grid view object that owns this column.

hasFooter property read-only
public boolean getHasFooter()

whether this column has a footer cell. This is determined based on whether footer is set.

header property
public string $header;

the header cell text. Note that it will not be HTML-encoded.

headerCellContent property read-only (available since v1.1.16)
public string getHeaderCellContent()

Returns the header cell content. The default implementation simply returns header. This method may be overridden to customize the rendering of the header cell.

headerHtmlOptions property
public array $headerHtmlOptions;

the HTML options for the header cell tag.

htmlOptions property
public array $htmlOptions;

the HTML options for the data cell tags.

id property
public string $id;

the ID of this column. This value should be unique among all grid view columns. If this is not set, it will be assigned one automatically.

visible property
public boolean $visible;

whether this column is visible. Defaults to true.

Method Details

__construct() method
public void __construct(CGridView $grid)
$grid CGridView the grid view that owns this column.
Source Code: framework/zii/widgets/grid/CGridColumn.php#95 (show)
public function __construct($grid)
{
    
$this->grid=$grid;
}

Constructor.

getDataCellContent() method (available since v1.1.16)
public string getDataCellContent(integer $row)
$row integer the row number (zero-based) The data for this row is available via $this->grid->dataProvider->data[$row];
{return} string the data cell content.
Source Code: framework/zii/widgets/grid/CGridColumn.php#224 (show)
public function getDataCellContent($row)
{
    return 
$this->grid->blankDisplay;
}

Returns the data cell content. This method SHOULD be overridden to customize the rendering of the data cell.

getFilterCellContent() method (available since v1.1.16)
public string getFilterCellContent()
{return} string the filter cell content.
Source Code: framework/zii/widgets/grid/CGridColumn.php#247 (show)
public function getFilterCellContent()
{
    return 
$this->grid->blankDisplay;
}

Returns the filter cell content. The default implementation simply returns an empty column. This method may be overridden to customize the rendering of the filter cell (if any).

getFooterCellContent() method (available since v1.1.16)
public string getFooterCellContent()
{return} string the footer cell content.
Source Code: framework/zii/widgets/grid/CGridColumn.php#202 (show)
public function getFooterCellContent()
{
    return 
trim($this->footer)!=='' $this->footer $this->grid->blankDisplay;
}

Returns the footer cell content. The default implementation simply returns footer. This method may be overridden to customize the rendering of the footer cell.

getHasFooter() method
public boolean getHasFooter()
{return} boolean whether this column has a footer cell. This is determined based on whether footer is set.
Source Code: framework/zii/widgets/grid/CGridColumn.php#113 (show)
public function getHasFooter()
{
    return 
$this->footer!==null;
}

getHeaderCellContent() method (available since v1.1.16)
public string getHeaderCellContent()
{return} string the header cell content.
Source Code: framework/zii/widgets/grid/CGridColumn.php#181 (show)
public function getHeaderCellContent()
{
    return 
trim($this->header)!=='' $this->header $this->grid->blankDisplay;
}

Returns the header cell content. The default implementation simply returns header. This method may be overridden to customize the rendering of the header cell.

init() method
public void init()
Source Code: framework/zii/widgets/grid/CGridColumn.php#105 (show)
public function init()
{
}

Initializes the column. This method is invoked by the grid view when it initializes itself before rendering. You may override this method to prepare the column for rendering.

renderDataCell() method
public void renderDataCell(integer $row)
$row integer the row number (zero-based)
Source Code: framework/zii/widgets/grid/CGridColumn.php#144 (show)
public function renderDataCell($row)
{
    
$data=$this->grid->dataProvider->data[$row];
    
$options=$this->htmlOptions;
    if(
$this->cssClassExpression!==null)
    {
        
$class=$this->evaluateExpression($this->cssClassExpression,array('row'=>$row,'data'=>$data));
        if(!empty(
$class))
        {
            if(isset(
$options['class']))
                
$options['class'].=' '.$class;
            else
                
$options['class']=$class;
        }
    }
    echo 
CHtml::openTag('td',$options);
    
$this->renderDataCellContent($row,$data);
    echo 
'</td>';
}

Renders a data cell.

renderDataCellContent() method
protected void renderDataCellContent(integer $row, mixed $data)
$row integer the row number (zero-based)
$data mixed the data associated with the row
Source Code: framework/zii/widgets/grid/CGridColumn.php#235 (show)
protected function renderDataCellContent($row,$data)
{
    echo 
$this->getDataCellContent($row);
}

Renders the data cell content.

renderFilterCell() method (available since v1.1.1)
public void renderFilterCell()
Source Code: framework/zii/widgets/grid/CGridColumn.php#122 (show)
public function renderFilterCell()
{
    echo 
CHtml::openTag('td',$this->filterHtmlOptions);
    
$this->renderFilterCellContent();
    echo 
"</td>";
}

Renders the filter cell.

renderFilterCellContent() method (available since v1.1.1)
protected void renderFilterCellContent()
Source Code: framework/zii/widgets/grid/CGridColumn.php#257 (show)
protected function renderFilterCellContent()
{
    echo 
$this->getFilterCellContent();
}

Renders the filter cell content.

renderFooterCell() method
public void renderFooterCell()
Source Code: framework/zii/widgets/grid/CGridColumn.php#167 (show)
public function renderFooterCell()
{
    echo 
CHtml::openTag('td',$this->footerHtmlOptions);
    
$this->renderFooterCellContent();
    echo 
'</td>';
}

Renders the footer cell.

renderFooterCellContent() method
protected void renderFooterCellContent()
Source Code: framework/zii/widgets/grid/CGridColumn.php#211 (show)
protected function renderFooterCellContent()
{
    echo 
$this->getFooterCellContent();
}

Renders the footer cell content.

renderHeaderCell() method
public void renderHeaderCell()
Source Code: framework/zii/widgets/grid/CGridColumn.php#132 (show)
public function renderHeaderCell()
{
    
$this->headerHtmlOptions['id']=$this->id;
    echo 
CHtml::openTag('th',$this->headerHtmlOptions);
    
$this->renderHeaderCellContent();
    echo 
"</th>";
}

Renders the header cell.

renderHeaderCellContent() method
protected void renderHeaderCellContent()
Source Code: framework/zii/widgets/grid/CGridColumn.php#190 (show)
protected function renderHeaderCellContent()
{
    echo 
$this->getHeaderCellContent();
}

Renders the header cell content.