0 关注者

类 yii\grid\SerialColumn

继承yii\grid\SerialColumn » yii\grid\Column » yii\base\BaseObject
实现yii\base\Configurable
可用版本2.0
源代码 https://github.com/yiisoft/yii2/blob/master/framework/grid/SerialColumn.php

SerialColumn 显示一行数字(以 1 为基数)的列。

要将 SerialColumn 添加到 yii\grid\GridView,请将其添加到 columns 配置中,如下所示

'columns' => [
    // ...
    [
        'class' => 'yii\grid\SerialColumn',
        // you may configure additional properties here
    ],
]

有关 SerialColumn 的更多详细信息和使用信息,请参阅 数据小部件指南文章

公共属性

隐藏继承的属性

属性 类型 描述 定义于
$content callable 这是一个可调用的函数,它将用于生成每个单元格的内容。 yii\grid\Column
$contentOptions 数组|闭包 数据单元格标签的 HTML 属性。 yii\grid\Column
$filterOptions 数组 过滤器单元格标签的 HTML 属性。 yii\grid\Column
$footer 字符串 页脚单元格内容。 yii\grid\Column
$footerOptions 数组 页脚单元格标签的 HTML 属性。 yii\grid\Column
$grid yii\grid\GridView 拥有此列的网格视图对象。 yii\grid\Column
$header 字符串| 标题单元格内容。 yii\grid\SerialColumn
$headerOptions 数组 标题单元格标签的 HTML 属性。 yii\grid\Column
$options 数组 列组标签的 HTML 属性。 yii\grid\Column
$visible 布尔值 此列是否可见。 yii\grid\Column

公共方法

隐藏继承的方法

方法 描述 定义于
__call() 调用不是类方法的命名方法。 yii\base\BaseObject
__construct() 构造函数。 yii\base\BaseObject
__get() 返回对象属性的值。 yii\base\BaseObject
__isset() 检查属性是否已设置,即已定义且不为空。 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\base\BaseObject
renderDataCell() 渲染数据单元格。 yii\grid\Column
renderFilterCell() 渲染过滤器单元格。 yii\grid\Column
renderFooterCell() 渲染页脚单元格。 yii\grid\Column
renderHeaderCell() 渲染标题单元格。 yii\grid\Column

受保护的方法

隐藏继承的方法

方法 描述 定义于
getHeaderCellLabel() 返回标题单元格标签。 yii\grid\Column
renderDataCellContent() 渲染数据单元格内容。 yii\grid\SerialColumn
renderFilterCellContent() 渲染过滤器单元格内容。 yii\grid\Column
renderFooterCellContent() 渲染页脚单元格内容。 yii\grid\Column
renderHeaderCellContent() 渲染标题单元格内容。 yii\grid\Column

属性详细信息

隐藏继承的属性

$header 公共属性

标题单元格内容。请注意,它不会被 HTML 编码。

public 字符串| $header '#'

方法详细信息

隐藏继承的方法

__call() 公共方法

定义于: yii\base\BaseObject::__call()

调用不是类方法的命名方法。

不要直接调用此方法,因为它是一个 PHP 魔术方法,当调用未知方法时会隐式调用。

public 混合 __call ( $name, $params )
$name 字符串

方法名称

$params 数组

方法参数

返回 混合

方法返回值

抛出 yii\base\UnknownMethodException

当调用未知方法时

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

            
__construct() 公共方法

定义于: yii\base\BaseObject::__construct()

构造函数。

默认实现执行两件事

  • 使用给定的配置 $config 初始化对象。
  • 调用 init()

如果此方法在子类中被覆盖,建议

  • 构造函数的最后一个参数是一个配置数组,如这里的 $config
  • 在构造函数的末尾调用父实现。
public void __construct ( $config = [] )
$config 数组

将用于初始化对象属性的键值对

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

            
__get() public method

定义于: yii\base\BaseObject::__get()

返回对象属性的值。

不要直接调用此方法,因为它是一个 PHP 魔术方法,会在执行 $value = $object->property; 时隐式调用。

另请参阅 __set().

public mixed __get ( $name )
$name 字符串

属性名称

返回 混合

属性值

抛出 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 method

定义于: yii\base\BaseObject::__isset()

检查属性是否已设置,即已定义且不为空。

不要直接调用此方法,因为它是一个 PHP 魔术方法,会在执行 isset($object->property) 时隐式调用。

请注意,如果属性未定义,则将返回 false。

另请参阅 https://php.ac.cn/manual/en/function.isset.php.

public boolean __isset ( $name )
$name 字符串

属性名称或事件名称

返回 布尔值

命名的属性是否设置(不为 null)。

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

            
__set() public method

定义于: yii\base\BaseObject::__set()

设置对象属性的值。

不要直接调用此方法,因为它是一个 PHP 魔术方法,会在执行 $object->property = $value; 时隐式调用。

另请参阅 __get().

public void __set ( $name, $value )
$name 字符串

属性名称或事件名称

$value 混合

属性值

抛出 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 method

定义于: yii\base\BaseObject::__unset()

将对象属性设置为 null。

不要直接调用此方法,因为它是一个 PHP 魔术方法,会在执行 unset($object->property) 时隐式调用。

请注意,如果属性未定义,则此方法将不会执行任何操作。 如果属性是只读属性,则会抛出异常。

另请参阅 https://php.ac.cn/manual/en/function.unset.php.

public void __unset ( $name )
$name 字符串

属性名称

抛出 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 method

定义于: yii\base\BaseObject::canGetProperty()

返回一个值,指示属性是否可以读取。

属性可读,如果

  • 类具有与指定名称关联的 getter 方法(在这种情况下,属性名称不区分大小写);
  • 类具有指定名称的成员变量(当 $checkVars 为 true 时);

另请参阅 canSetProperty().

public boolean canGetProperty ( $name, $checkVars true )
$name 字符串

属性名称

$checkVars 布尔值

是否将成员变量视为属性

返回 布尔值

属性是否可读

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

            
canSetProperty() public method

定义于: yii\base\BaseObject::canSetProperty()

返回一个值,指示属性是否可以设置。

属性可写,如果

  • 类具有与指定名称关联的 setter 方法(在这种情况下,属性名称不区分大小写);
  • 类具有指定名称的成员变量(当 $checkVars 为 true 时);

另请参阅 canGetProperty().

public boolean canSetProperty ( $name, $checkVars true )
$name 字符串

属性名称

$checkVars 布尔值

是否将成员变量视为属性

返回 布尔值

属性是否可写

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

            
className() public static method
自 2.0.14 起已弃用。 在 PHP >=5.5 上,使用 ::class 代替。

定义于: yii\base\BaseObject::className()

返回此类的完全限定名。

public static string className ( )
返回 字符串

此类的完全限定名称。

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

            
getHeaderCellLabel() protected method (available since version 2.0.8)

定义于: yii\grid\Column::getHeaderCellLabel()

返回标题单元格标签。

可以覆盖此方法以自定义表头单元格的标签。

protected string getHeaderCellLabel ( )
返回 字符串

标签

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

            
hasMethod() public method

定义于: yii\base\BaseObject::hasMethod()

返回一个值,指示方法是否已定义。

默认实现是调用 php 函数 method_exists()。 当您实现 php 魔术方法 __call() 时,您可以覆盖此方法。

public boolean hasMethod ( $name )
$name 字符串

方法名称

返回 布尔值

方法是否定义

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

            
hasProperty() public method

定义于: yii\base\BaseObject::hasProperty()

返回一个值,指示属性是否已定义。

属性已定义,如果

  • 类具有与指定名称关联的 getter 或 setter 方法(在这种情况下,属性名称不区分大小写);
  • 类具有指定名称的成员变量(当 $checkVars 为 true 时);

另请参阅

public boolean hasProperty ( $name, $checkVars true )
$name 字符串

属性名称

$checkVars 布尔值

是否将成员变量视为属性

返回 布尔值

属性是否已定义

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

            
init() public method

定义于: yii\base\BaseObject::init()

初始化对象。

此方法在对象使用给定配置初始化后,在构造函数结束时调用。

public void init ( )

                public function init()
{
}

            
renderDataCell() public method

定义于: yii\grid\Column::renderDataCell()

渲染数据单元格。

public string renderDataCell ( $model, $key, $index )
$model 混合

正在渲染的数据模型

$key 混合

与数据模型关联的键

$index 整数

数据项在 yii\grid\GridView::$dataProvider 返回的项目数组中的零基索引。

返回 字符串

渲染结果

                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() 受保护方法

渲染数据单元格内容。

受保护的 字符串 renderDataCellContent ( $model, $key, $index )
$model 混合

数据模型

$key 混合

与数据模型关联的键

$index 整数

数据模型在 yii\grid\GridView::$dataProvider 返回的模型数组中的零基索引。

返回 字符串

渲染结果

                protected function renderDataCellContent($model, $key, $index)
{
    $pagination = $this->grid->dataProvider->getPagination();
    if ($pagination !== false) {
        return $pagination->getOffset() + $index + 1;
    }
    return $index + 1;
}

            
renderFilterCell() 公共方法

定义于: yii\grid\Column::renderFilterCell()

渲染过滤器单元格。

公共的 无效 renderFilterCell ( )

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

            
renderFilterCellContent() 受保护方法

定义于: yii\grid\Column::renderFilterCellContent()

渲染过滤器单元格内容。

默认实现只是渲染一个空格。此方法可以被重写以自定义过滤器单元格的渲染(如果有)。

受保护的 字符串 renderFilterCellContent ( )
返回 字符串

渲染结果

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

            
renderFooterCell() 公共方法

定义于: yii\grid\Column::renderFooterCell()

渲染页脚单元格。

公共的 无效 renderFooterCell ( )

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

            
renderFooterCellContent() 受保护方法

定义于: yii\grid\Column::renderFooterCellContent()

渲染页脚单元格内容。

默认实现只是渲染 $footer。此方法可以被重写以自定义页脚单元格的渲染。

受保护的 字符串 renderFooterCellContent ( )
返回 字符串

渲染结果

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

            
renderHeaderCell() 公共方法

定义于: yii\grid\Column::renderHeaderCell()

渲染标题单元格。

公共的 无效 renderHeaderCell ( )

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

            
renderHeaderCellContent() 受保护方法

定义于: yii\grid\Column::renderHeaderCellContent()

渲染标题单元格内容。

默认实现只是渲染 $header。此方法可以被重写以自定义表头单元格的渲染。

受保护的 字符串 renderHeaderCellContent ( )
返回 字符串

渲染结果

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