Silverstripe网格字段扩展 - TextField显示为Textarea

时间:2014-03-07 19:46:40

标签: silverstripe

也许有人可以帮助我。我刚刚为Silverstripe(https://github.com/ajshort/silverstripe-gridfieldextensions)安装了Grid Field Extensions模块,因为我需要内联编辑/添加。它可以工作,但简单的TextFields显示为textareas而不是简单的文本字段。

有人可以告诉我如何改变它吗?

1 个答案:

答案 0 :(得分:2)

模块会尝试自动计算哪个字段最适合您的变量。它会为DropdownField变量创建Enum,为TextareaField变量创建Text,依此类推。

如果您不想手动设置要内联编辑的每个变量的字段类型,则需要稍微更改变量。

TextareaFieldText变量的字段集。

TextFieldVarchar变量的字段集。

对于您想要成为TextField而不是TextareaField的任何变量,将其类型从Text更改为Varchar(255)(或者您需要的字符限制很大)

否则您可以使用手动设置字段 setDisplayFields中描述的$grid->getConfig()->getComponentByType('GridFieldEditableColumns')->setDisplayFields(array( 'FirstField' => function($record, $column, $grid) { return new TextField($column); }, 'SecondField' => function($record, $column, $grid) { return new TextField($column); }, // ... etc for each field you want to be editable ));

{{1}}