Class kartik\grid\RadioColumn

Inheritancekartik\grid\RadioColumn » yii\grid\Column » yii\base\BaseObject
Implementsyii\base\Configurable
Uses Traitskartik\grid\ColumnTrait
Available since version1.0

RadioColumn displays a column of radio inputs in a grid view. It is different than the CheckboxColumn in the sense that it allows only a single row to be selected at a time.

To add a RadioColumn to the gridview, add it to the columns configuration as follows:

'columns' => [
    // ...
    [
        'class' => RadioColumn::class,
        // you may configure additional properties here
    ],
]

Public Properties

Hide inherited properties

PropertyTypeDescriptionDefined By
$clearOptions array The HTML attributes for the clear button in the header. kartik\grid\RadioColumn
$columnKey string An unique identifier for the Column. kartik\grid\ColumnTrait
$content callable This is a callable that will be used to generate the content of each cell. yii\grid\Column
$contentOptions array|Closure The HTML attributes for the data cell tag. yii\grid\Column
$filterOptions array The HTML attributes for the filter cell tag. yii\grid\Column
$footer string The footer cell content. yii\grid\Column
$footerOptions array The HTML attributes for the footer cell tag. yii\grid\Column
$grid yii\grid\GridView The grid view object that owns this column. yii\grid\Column
$hAlign string The horizontal alignment of each column. kartik\grid\ColumnTrait
$header string|null The header cell content. yii\grid\Column
$headerOptions array The HTML attributes for the header cell tag. yii\grid\Column
$hidden boolean Whether the column is hidden from display. kartik\grid\ColumnTrait
$hiddenFromExport boolean|array Whether the column is hidden in export output. kartik\grid\ColumnTrait
$hidePageSummary boolean Whether to just hide the page summary display but still calculate the summary based on $pageSummary settings kartik\grid\ColumnTrait
$mergeHeader boolean Whether to merge the header title row and the filter row. kartik\grid\ColumnTrait
$name string The name of the radio input fields. kartik\grid\RadioColumn
$noWrap boolean Whether to force no wrapping on all table cells in the column kartik\grid\ColumnTrait
$options array The HTML attributes for the column group tag. yii\grid\Column
$pageSummary boolean|string|Closure The page summary that is displayed above the footer. kartik\grid\ColumnTrait
$pageSummaryFormat string|array|Closure In which format should the value of each data model be displayed as (e.g. "raw", "text", "html", ['date', 'php:Y-m-d']). kartik\grid\ColumnTrait
$pageSummaryFunc string|Closure The summary function that will be used to calculate the page summary for the column. kartik\grid\ColumnTrait
$pageSummaryOptions array HTML attributes for the page summary cell. kartik\grid\ColumnTrait
$radioOptions array|Closure The HTML attributes for radio inputs. kartik\grid\RadioColumn
$rowHighlight boolean Highlight current row if checkbox is checked kartik\grid\RadioColumn
$rowSelectedClass string Highlight CSS class to be applied for highlighting the row. kartik\grid\RadioColumn
$showClear boolean Whether to show the clear button in the header to clear the radio. kartik\grid\RadioColumn
$stripTagsFromExport boolean Whether to strip HTML tags from the column during export. kartik\grid\ColumnTrait
$vAlign string The vertical alignment of each column. kartik\grid\ColumnTrait
$visible boolean Whether this column is visible. yii\grid\Column
$width string The width of each column (matches the CSS width property). kartik\grid\ColumnTrait

Protected Properties

Hide inherited properties

PropertyTypeDescriptionDefined By
$_clientScript string The internally generated client script to initialize kartik\grid\ColumnTrait
$_clientVars string The variables for the client script kartik\grid\RadioColumn
$_rows array Collection of row data for the column for the current page kartik\grid\ColumnTrait
$_view yii\web\View The view instance kartik\grid\ColumnTrait

Public Methods

Hide inherited methods

MethodDescriptionDefined By
__call() Calls the named method which is not a class method. yii\base\BaseObject
__construct() Constructor. yii\base\BaseObject
__get() Returns the value of an object property. yii\base\BaseObject
__isset() Checks if a property is set, i.e. defined and not null. yii\base\BaseObject
__set() Sets value of an object property. yii\base\BaseObject
__unset() Sets an object property to null. yii\base\BaseObject
canGetProperty() Returns a value indicating whether a property can be read. yii\base\BaseObject
canSetProperty() Returns a value indicating whether a property can be set. yii\base\BaseObject
className() Returns the fully qualified name of this class. yii\base\BaseObject
hasMethod() Returns a value indicating whether a method is defined. yii\base\BaseObject
hasProperty() Returns a value indicating whether a property is defined. yii\base\BaseObject
init() Initializes the object. kartik\grid\RadioColumn
initColumnSettings() Initialize column settings kartik\grid\ColumnTrait
parseExcelFormats() Parses Excel Cell Formats for export kartik\grid\ColumnTrait
renderDataCell() Renders a data cell. kartik\grid\RadioColumn
renderFilterCell() Renders the filter cell. kartik\grid\ColumnTrait
renderFooterCell() Renders the footer cell. yii\grid\Column
renderHeaderCell() Renders the header cell. kartik\grid\ColumnTrait
renderPageSummaryCell() Renders the page summary cell. kartik\grid\ColumnTrait

Protected Methods

Hide inherited methods

MethodDescriptionDefined By
calculateSummary() Calculates the summary of an input data based on page summary aggregration function. kartik\grid\ColumnTrait
checkValidFilters() Checks if the filter input types are valid kartik\grid\ColumnTrait
fetchContentOptions() Parses and fetches updated content options for grid visibility and format kartik\grid\ColumnTrait
getFooterCellContent() Get the raw footer cell content. kartik\grid\ColumnTrait
getHeaderCellLabel() Returns header cell label. yii\grid\Column
getPageSummaryCellContent() Gets the raw page summary cell content. kartik\grid\ColumnTrait
initColumnKey() Initializes the column key kartik\grid\ColumnTrait
initGrouping() Initializes grid grouping kartik\grid\ColumnTrait
initPjax() Initialize column specific JS functionality whenever pjax request completes kartik\grid\ColumnTrait
isValidAlignment() Check if the alignment provided is valid kartik\grid\ColumnTrait
parseFormat() Parses and formats a grid column kartik\grid\ColumnTrait
parseGrouping() Parses grid grouping and sets data attributes kartik\grid\ColumnTrait
parseVal() Parses a value if Closure and returns the right value kartik\grid\ColumnTrait
parseVisibility() Checks hidden property and hides the column from display kartik\grid\ColumnTrait
renderDataCellContent() Renders the data cell content. kartik\grid\RadioColumn
renderFilterCellContent() Renders the filter cell content. yii\grid\Column
renderFooterCellContent() Renders the footer cell content. yii\grid\Column
renderHeaderCellContent() Renders the header cell content. kartik\grid\RadioColumn
renderPageSummaryCellContent() Renders the page summary cell content. kartik\grid\ColumnTrait
setPageRows() Store all rows for the column for the current page kartik\grid\ColumnTrait

Property Details

$_clientVars protected property

The variables for the client script

protected string $_clientVars ''
$clearOptions public property

The HTML attributes for the clear button in the header. Note that the CSS class 'kv-clear-radio' will automatically be added to this array. The following special option is recognized:

  • label: string, the label for the button. Defaults to:
    • <i class="glyphicon glyphicon-remove-circle"></i> for bootstrap 3.x and
    • <i class="far fa-remove-circle"></i> for bootstrap 4.x and bootstrap 5.x
public array $clearOptions = []
$name public property

The name of the radio input fields.

public string $name 'kvradio'
$radioOptions public property

The HTML attributes for radio inputs. This can either be an array of attributes or an anonymous function (Closure) that returns such an array. The signature of the function should be the following: function ($model, $key, $index, $column). Where $model, $key, and $index refer to the model, key and index of the row currently being rendered and $column is a reference to the kartik\grid\RadioColumn object. A function may be used to assign different attributes to different rows based on the data in that row. Specifically if you want to set a different value for the radio, you can use this option in the following way (in this example using the name attribute of the model):

'radioOptions' => function($model, $key, $index, $column) {
    return ['value' => $model->name];
}

See also yii\helpers\Html::renderTagAttributes() for details on how attributes are being rendered.

$rowHighlight public property

Highlight current row if checkbox is checked

public boolean $rowHighlight true
$rowSelectedClass public property

Highlight CSS class to be applied for highlighting the row. Defaults to 'success'.

public string $rowSelectedClass null
$showClear public property

Whether to show the clear button in the header to clear the radio.

public boolean $showClear true

Method Details

init() public method

Initializes the object.

This method is invoked at the end of the constructor after the object is initialized with the given configuration.

public void init ( )
throws yii\base\InvalidConfigException
renderDataCell() public method

Renders a data cell.

public string renderDataCell ( $model, $key, $index )
$model mixed

The data model being rendered

$key mixed

The key associated with the data model

$index integer

The zero-based index of the data item among the item array returned by kartik\grid\GridView::$dataProvider.

return string

The rendering result

renderDataCellContent() protected method

Renders the data cell content.

protected string renderDataCellContent ( $model, $key, $index )
$model mixed

The data model

$key mixed

The key associated with the data model

$index integer

The zero-based index of the data model among the models array returned by kartik\grid\GridView::$dataProvider.

return string

The rendering result

renderHeaderCellContent() protected method

Renders the header cell content.

The default implementation simply renders $header. This method may be overridden to customize the rendering of the header cell.

protected string renderHeaderCellContent ( )
return string

The rendering result