1

我使用 yii 和 Yii Booster。

我想截断TbEditableColumn中显示的文本。我已经扩展CFormatter,如下所述:。

为了截断文本,我在列定义属性“ type ”中设置为 array('type'=>'shortText', length=>20)

//gridview

'columns'=>array(
  array(
    'type' => array(
        'type' => 'shortText',
        'length' => 10
    ),
),

)

它在不可编辑的列中运行良好。当我设置时它不起作用:

'class' => 'bootstrap.widgets.TbEditableColumn'

知道如何使它与 TbEdiableColumn 一起工作吗?

4

1 回答 1

1

现在这是一个脑筋急转弯。虽然TbEditableColumn最终 extends ,但如果它能够将小部件应用于数据单元CDataColumn格,它根本不尊重网格视图的格式化程序。有一个属性控制数据单元格中显示的文本(即在您单击它之前)。不幸的是,它似乎是静态的。它永远不会以任何形式进行评估,因此您不能将表达式或匿名函数传递给它。TbEditableFieldTbEditableFieldtext

TbEditableField底线:除非您正在教如何通过扩展格式化程序来引入格式化程序,否则无法完成。TbEditableColumn也必须扩展,因此它将传递格式化程序实例。

于 2013-12-13T18:11:30.067 回答