我使用yii和Yii Booster。
我想截断 TbEditableColumn 中显示的文字。 我按照here所述扩展了 CFormatter :。
为了截断我在列定义属性“类型”中设置的文本到数组('type'=>'shortText',length => 20)
//gridview
'columns'=>array(
array(
'type' => array(
'type' => 'shortText',
'length' => 10
),
),
)
它在不可编辑的列中正常工作。 设置时它不起作用:
'class' => 'bootstrap.widgets.TbEditableColumn'
知道如何使其与TbEdiableColumn一起使用吗?
答案 0 :(得分:1)
现在这是一个大脑痒痒的人。虽然TbEditableColumn
最终会扩展CDataColumn
,但如果它能够将TbEditableField
窗口小部件应用于数据单元格,它根本不会尊重网格视图的格式化程序。 TbEditableField
具有text
属性,用于控制数据单元格中显示的文本(即,在您单击之前)。不幸的是,它似乎是静态的。它永远不会以任何形式进行评估,因此您无法将表达式或匿名函数传递给它。
结论:除非你教导TbEditableField
如何通过扩展格式化来提取格式化,否则无法完成。 <{1}}也必须扩展,因此它将传递格式化程序实例。