我创建了新的小部件以在管理视图中显示信息。最终视图必须与 CGridView 相同,但列的逻辑不同。一切正常,除非我尝试调用 CButtonColumn 列。
foreach ($this->columns as $column) {
if (is_array($column) && isset($column['class']) {
$this->renderColumnWidget($column);
}
}
/* ... */
protected function renderColumnWidget($column)
{
$widgetClass = $column->class;
unset($column->class);
if (strpos($widgetClass, '.') === false) {
$widgetClass = 'zii.widgets.grid.'.$widgetClass;
}
$this->widget($widgetClass, $column); // Error from here
}
所以基本上在这里我检查列中是否有类属性并调用该小部件。但我得到错误:CButtonColumn and its behaviors do not have a method or closure named "run".
我究竟做错了什么?CButtonColumn 没有run
方法,我不想扩展这个类。