0 フォロワー

クラス yii\grid\RadioButtonColumn

継承yii\grid\RadioButtonColumn » yii\grid\Column » yii\base\BaseObject
実装yii\base\Configurable
利用可能バージョン2.0.11
ソースコード https://github.com/yiisoft/yii2/blob/master/framework/grid/RadioButtonColumn.php

RadioButtonColumn は、グリッドビューにラジオボタンの列を表示します。

yii\grid\GridView に RadioButtonColumn を追加するには、以下のように columns 構成に追加します。

'columns' => [
    // ...
    [
        'class' => 'yii\grid\RadioButtonColumn',
        'radioOptions' => function ($model) {
             return [
                 'value' => $model['value'],
                 'checked' => $model['value'] == 2
             ];
         }
    ],
]

公開プロパティ

継承されたプロパティを非表示

プロパティ 説明 定義元
$content callable 各セルのコンテンツを生成するために使用されるcallableです。 yii\grid\Column
$contentOptions array|Closure データセルタグのHTML属性。 yii\grid\Column
$filterOptions array フィルタセルタグのHTML属性。 yii\grid\Column
$footer string フッターセルのコンテンツ。 yii\grid\Column
$footerOptions array フッターセルタグのHTML属性。 yii\grid\Column
$grid yii\grid\GridView この列を所有するグリッドビューオブジェクト。 yii\grid\Column
$header string|null ヘッダーセルのコンテンツ。 yii\grid\Column
$headerOptions array ヘッダーセルタグのHTML属性。 yii\grid\Column
$name string 入力ラジオボタン入力フィールドの名前。 yii\grid\RadioButtonColumn
$options array 列グループタグのHTML属性。 yii\grid\Column
$radioOptions array|Closure ラジオボタンのHTML属性。 yii\grid\RadioButtonColumn
$visible boolean この列が表示されるかどうか。 yii\grid\Column

公開メソッド

継承されたメソッドを非表示

メソッド 説明 定義元
__call() クラスメソッドではない名前付きメソッドを呼び出します。 yii\base\BaseObject
__construct() コンストラクタ。 yii\base\BaseObject
__get() オブジェクトプロパティの値を返します。 yii\base\BaseObject
__isset() プロパティが設定されているか(つまり、定義されていてnullではないか)を確認します。 yii\base\BaseObject
__set() オブジェクトプロパティの値を設定します。 yii\base\BaseObject
__unset() オブジェクトプロパティをnullに設定します。 yii\base\BaseObject
canGetProperty() プロパティを読み取ることができるかどうかを示す値を返します。 yii\base\BaseObject
canSetProperty() プロパティを設定できるかどうかを示す値を返します。 yii\base\BaseObject
className() このクラスの完全修飾名を返します。 yii\base\BaseObject
hasMethod() メソッドが定義されているかどうかを示す値を返します。 yii\base\BaseObject
hasProperty() プロパティが定義されているかどうかを示す値を返します。 yii\base\BaseObject
init() オブジェクトを初期化します。 yii\grid\RadioButtonColumn
renderDataCell() データセルをレンダリングします。 yii\grid\Column
renderFilterCell() フィルタセルをレンダリングします。 yii\grid\Column
renderFooterCell() フッターセルをレンダリングします。 yii\grid\Column
renderHeaderCell() ヘッダーセルをレンダリングします。 yii\grid\Column

保護メソッド

継承されたメソッドを非表示

メソッド 説明 定義元
getHeaderCellLabel() ヘッダーセルのラベルを返します。 yii\grid\Column
renderDataCellContent() データセルのコンテンツをレンダリングします。 yii\grid\RadioButtonColumn
renderFilterCellContent() フィルタセルのコンテンツをレンダリングします。 yii\grid\Column
renderFooterCellContent() フッターセルのコンテンツをレンダリングします。 yii\grid\Column
renderHeaderCellContent() ヘッダーセルのコンテンツをレンダリングします。 yii\grid\Column

プロパティの詳細

継承されたプロパティを非表示

$name public property

入力ラジオボタン入力フィールドの名前。

public string $name 'radioButtonSelection'
$radioOptions public property

ラジオボタンのHTML属性。これは、属性の配列、またはそのような配列を返す無名関数(Closure)のいずれかになります。

関数のシグネチャは次のようになります。function ($model, $key, $index, $column) ここで、$model$key$index は、現在レンダリングされている行のモデル、キー、インデックスを表し、$columnyii\grid\RadioButtonColumn オブジェクトへの参照です。

関数は、その行のデータに基づいて異なる行に異なる属性を割り当てるために使用できます。具体的には、ラジオボタンに異なる値を設定したい場合は、次の方法でこのオプションを使用できます(この例では、モデルのname属性を使用しています)。

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

属性のレンダリング方法の詳細については、yii\helpers\Html::renderTagAttributes() も参照してください。

メソッドの詳細

継承されたメソッドを非表示

__call() publicメソッド

定義場所: yii\base\BaseObject::__call()

クラスメソッドではない名前付きメソッドを呼び出します。

これはPHPのマジックメソッドであり、不明なメソッドが呼び出されたときに暗黙的に呼び出されるため、直接呼び出さないでください。

public mixed __call ( $name, $params )
$name string

メソッド名

$params array

メソッドパラメータ

戻り値 mixed

メソッドの戻り値

例外 yii\base\UnknownMethodException

不明なメソッド呼び出し時

                public function __call($name, $params)
{
    throw new UnknownMethodException('Calling unknown method: ' . get_class($this) . "::$name()");
}

            
__construct() publicメソッド

定義場所: yii\base\BaseObject::__construct()

コンストラクタ。

デフォルトの実装では、次の2つのことを行います。

  • 指定された設定$configを使用してオブジェクトを初期化します。
  • init() を呼び出します。

このメソッドを子クラスでオーバーライドする場合は、

  • コンストラクタの最後のパラメータが、ここで$configのように設定配列であることをお勧めします。
  • コンストラクタの最後に親の実装を呼び出してください。
public void __construct ( $config = [] )
$config array

オブジェクトのプロパティを初期化するために使用される名前と値のペア

                public function __construct($config = [])
{
    if (!empty($config)) {
        Yii::configure($this, $config);
    }
    $this->init();
}

            
__get() publicメソッド

定義場所: yii\base\BaseObject::__get()

オブジェクトプロパティの値を返します。

これはPHPのマジックメソッドであり、$value = $object->property;を実行したときに暗黙的に呼び出されるため、直接呼び出さないでください。

__set() も参照してください。

public mixed __get ( $name )
$name string

プロパティ名

戻り値 mixed

プロパティの値

例外 yii\base\UnknownPropertyException

プロパティが定義されていない場合

例外 yii\base\InvalidCallException

プロパティが書き込み専用の場合

                public function __get($name)
{
    $getter = 'get' . $name;
    if (method_exists($this, $getter)) {
        return $this->$getter();
    } elseif (method_exists($this, 'set' . $name)) {
        throw new InvalidCallException('Getting write-only property: ' . get_class($this) . '::' . $name);
    }
    throw new UnknownPropertyException('Getting unknown property: ' . get_class($this) . '::' . $name);
}

            
__isset() publicメソッド

定義場所: yii\base\BaseObject::__isset()

プロパティが設定されているか(つまり、定義されていてnullではないか)を確認します。

これはPHPのマジックメソッドであり、isset($object->property)を実行したときに暗黙的に呼び出されるため、直接呼び出さないでください。

プロパティが定義されていない場合は、falseが返されることに注意してください。

https://www.php.net/manual/en/function.isset.php も参照してください。

public boolean __isset ( $name )
$name string

プロパティ名またはイベント名

戻り値 boolean

指定されたプロパティが設定されているかどうか(nullではない)。

                public function __isset($name)
{
    $getter = 'get' . $name;
    if (method_exists($this, $getter)) {
        return $this->$getter() !== null;
    }
    return false;
}

            
__set() publicメソッド

定義場所: yii\base\BaseObject::__set()

オブジェクトプロパティの値を設定します。

これはPHPのマジックメソッドであり、$object->property = $value;を実行したときに暗黙的に呼び出されるため、直接呼び出さないでください。

__get() も参照してください。

public void __set ( $name, $value )
$name string

プロパティ名またはイベント名

$value mixed

プロパティの値

例外 yii\base\UnknownPropertyException

プロパティが定義されていない場合

例外 yii\base\InvalidCallException

プロパティが読み取り専用の場合

                public function __set($name, $value)
{
    $setter = 'set' . $name;
    if (method_exists($this, $setter)) {
        $this->$setter($value);
    } elseif (method_exists($this, 'get' . $name)) {
        throw new InvalidCallException('Setting read-only property: ' . get_class($this) . '::' . $name);
    } else {
        throw new UnknownPropertyException('Setting unknown property: ' . get_class($this) . '::' . $name);
    }
}

            
__unset() publicメソッド

定義場所: yii\base\BaseObject::__unset()

オブジェクトプロパティをnullに設定します。

これはPHPのマジックメソッドであり、unset($object->property)を実行したときに暗黙的に呼び出されるため、直接呼び出さないでください。

プロパティが定義されていない場合、このメソッドは何もしません。プロパティが読み取り専用の場合は、例外をスローします。

https://www.php.net/manual/en/function.unset.php も参照してください。

public void __unset ( $name )
$name string

プロパティ名

例外 yii\base\InvalidCallException

プロパティが読み取り専用の場合。

                public function __unset($name)
{
    $setter = 'set' . $name;
    if (method_exists($this, $setter)) {
        $this->$setter(null);
    } elseif (method_exists($this, 'get' . $name)) {
        throw new InvalidCallException('Unsetting read-only property: ' . get_class($this) . '::' . $name);
    }
}

            
canGetProperty() publicメソッド

定義場所: yii\base\BaseObject::canGetProperty()

プロパティを読み取ることができるかどうかを示す値を返します。

プロパティは、次の場合に読み取り可能です。

  • クラスに、指定された名前と関連付けられたゲッターメソッドがある場合(この場合、プロパティ名はケースインセンシティブです)。
  • クラスに、指定された名前のメンバー変数がある場合($checkVarsがtrueの場合)。

canSetProperty() も参照してください。

public boolean canGetProperty ( $name, $checkVars true )
$name string

プロパティ名

$checkVars boolean

メンバー変数をプロパティとして扱うかどうか

戻り値 boolean

プロパティを読み取ることができるかどうか

                public function canGetProperty($name, $checkVars = true)
{
    return method_exists($this, 'get' . $name) || $checkVars && property_exists($this, $name);
}

            
canSetProperty() publicメソッド

定義場所: yii\base\BaseObject::canSetProperty()

プロパティを設定できるかどうかを示す値を返します。

プロパティは、次の場合に書き込み可能です。

  • クラスに、指定された名前と関連付けられたセッターメソッドがある場合(この場合、プロパティ名はケースインセンシティブです)。
  • クラスに、指定された名前のメンバー変数がある場合($checkVarsがtrueの場合)。

canGetProperty() も参照してください。

public boolean canSetProperty ( $name, $checkVars true )
$name string

プロパティ名

$checkVars boolean

メンバー変数をプロパティとして扱うかどうか

戻り値 boolean

プロパティに書き込めるかどうか

                public function canSetProperty($name, $checkVars = true)
{
    return method_exists($this, 'set' . $name) || $checkVars && property_exists($this, $name);
}

            
className() public static メソッド
2.0.14以降非推奨。PHP >= 5.5では、代わりに`::class`を使用してください。

定義済み: yii\base\BaseObject::className()

このクラスの完全修飾名を返します。

public static string className ( )
戻り値 string

このクラスの完全修飾名。

                public static function className()
{
    return get_called_class();
}

            
getHeaderCellLabel() protected メソッド (バージョン2.0.8以降で使用可能)

定義済み: yii\grid\Column::getHeaderCellLabel()

ヘッダーセルのラベルを返します。

このメソッドは、ヘッダーセルのラベルをカスタマイズするためにオーバーライドできます。

protected string getHeaderCellLabel ( )
戻り値 string

ラベル

                protected function getHeaderCellLabel()
{
    return $this->grid->emptyCell;
}

            
hasMethod() public メソッド

定義済み: yii\base\BaseObject::hasMethod()

メソッドが定義されているかどうかを示す値を返します。

デフォルトの実装は、PHP関数`method_exists()`の呼び出しです。PHPマジックメソッド`__call()`を実装した場合は、このメソッドをオーバーライドできます。

public boolean hasMethod ( $name )
$name string

メソッド名

戻り値 boolean

メソッドが定義されているかどうか

                public function hasMethod($name)
{
    return method_exists($this, $name);
}

            
hasProperty() public メソッド

定義済み: yii\base\BaseObject::hasProperty()

プロパティが定義されているかどうかを示す値を返します。

プロパティは、以下の場合に定義されます。

  • クラスが指定された名前に関連付けられたゲッターまたはセッターメソッドを持っている場合(この場合、プロパティ名は大文字と小文字が区別されません)。
  • クラスに、指定された名前のメンバー変数がある場合($checkVarsがtrueの場合)。

参照

public boolean hasProperty ( $name, $checkVars true )
$name string

プロパティ名

$checkVars boolean

メンバー変数をプロパティとして扱うかどうか

戻り値 boolean

プロパティが定義されているかどうか

                public function hasProperty($name, $checkVars = true)
{
    return $this->canGetProperty($name, $checkVars) || $this->canSetProperty($name, false);
}

            
init() public メソッド

オブジェクトを初期化します。

このメソッドは、オブジェクトが指定された構成で初期化された後、コンストラクタの最後に呼び出されます。

public void init ( )
例外 yii\base\InvalidConfigException

$name が設定されていない場合。

                public function init()
{
    parent::init();
    if (empty($this->name)) {
        throw new InvalidConfigException('The "name" property must be set.');
    }
}

            
renderDataCell() public メソッド

定義済み: yii\grid\Column::renderDataCell()

データセルをレンダリングします。

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

レンダリングされるデータモデル

$key mixed

データモデルに関連付けられたキー

$index 整数

yii\grid\GridView::$dataProviderによって返されるアイテム配列の中で、データアイテムの0から始まるインデックス。

戻り値 string

レンダリング結果

                public function renderDataCell($model, $key, $index)
{
    if ($this->contentOptions instanceof Closure) {
        $options = call_user_func($this->contentOptions, $model, $key, $index, $this);
    } else {
        $options = $this->contentOptions;
    }
    return Html::tag('td', $this->renderDataCellContent($model, $key, $index), $options);
}

            
renderDataCellContent() protected メソッド

データセルのコンテンツをレンダリングします。

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

データモデル

$key mixed

データモデルに関連付けられたキー

$index 整数

yii\grid\GridView::$dataProviderによって返されるモデル配列の中で、データモデルの0から始まるインデックス。

戻り値 string

レンダリング結果

                protected function renderDataCellContent($model, $key, $index)
{
    if ($this->content !== null) {
        return parent::renderDataCellContent($model, $key, $index);
    }
    if ($this->radioOptions instanceof Closure) {
        $options = call_user_func($this->radioOptions, $model, $key, $index, $this);
    } else {
        $options = $this->radioOptions;
        if (!isset($options['value'])) {
            $options['value'] = is_array($key) ? json_encode($key, JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE) : $key;
        }
    }
    $checked = isset($options['checked']) ? $options['checked'] : false;
    return Html::radio($this->name, $checked, $options);
}

            
renderFilterCell() public メソッド

定義済み: yii\grid\Column::renderFilterCell()

フィルタセルをレンダリングします。

public void renderFilterCell ( )

                public function renderFilterCell()
{
    return Html::tag('td', $this->renderFilterCellContent(), $this->filterOptions);
}

            
renderFilterCellContent() protected メソッド

定義済み: yii\grid\Column::renderFilterCellContent()

フィルタセルのコンテンツをレンダリングします。

デフォルトの実装は単にスペースをレンダリングします。このメソッドは、フィルターセル(存在する場合)のレンダリングをカスタマイズするためにオーバーライドできます。

protected string renderFilterCellContent ( )
戻り値 string

レンダリング結果

                protected function renderFilterCellContent()
{
    return $this->grid->emptyCell;
}

            
renderFooterCell() public メソッド

定義済み: yii\grid\Column::renderFooterCell()

フッターセルをレンダリングします。

public void renderFooterCell ( )

                public function renderFooterCell()
{
    return Html::tag('td', $this->renderFooterCellContent(), $this->footerOptions);
}

            
renderFooterCellContent() protected メソッド

定義済み: yii\grid\Column::renderFooterCellContent()

フッターセルのコンテンツをレンダリングします。

デフォルトの実装は単に$footerをレンダリングします。このメソッドは、フッターセルのレンダリングをカスタマイズするためにオーバーライドできます。

protected string renderFooterCellContent ( )
戻り値 string

レンダリング結果

                protected function renderFooterCellContent()
{
    return $this->footer !== null && trim($this->footer) !== '' ? $this->footer : $this->grid->emptyCell;
}

            
renderHeaderCell() public メソッド

定義先: yii\grid\Column::renderHeaderCell()

ヘッダーセルをレンダリングします。

public void renderHeaderCell ( )

                public function renderHeaderCell()
{
    return Html::tag('th', $this->renderHeaderCellContent(), $this->headerOptions);
}

            
renderHeaderCellContent() protectedメソッド

定義先: yii\grid\Column::renderHeaderCellContent()

ヘッダーセルのコンテンツをレンダリングします。

デフォルトの実装では、単に$headerをレンダリングします。ヘッダーセルのレンダリングをカスタマイズするには、このメソッドをオーバーライドします。

protected string renderHeaderCellContent ( )
戻り値 string

レンダリング結果

                protected function renderHeaderCellContent()
{
    return $this->header !== null && trim($this->header) !== '' ? $this->header : $this->getHeaderCellLabel();
}