Silverstripe Gridfield扩展-文本字段显示为Textarea
也许有人能帮我。我刚刚安装了Silverstripe()的网格字段扩展模块,因为我需要内联编辑/添加。它可以工作,但简单的文本字段显示为文本区域,而不是简单的文本字段Silverstripe Gridfield扩展-文本字段显示为Textarea,silverstripe,Silverstripe,也许有人能帮我。我刚刚安装了Silverstripe()的网格字段扩展模块,因为我需要内联编辑/添加。它可以工作,但简单的文本字段显示为文本区域,而不是简单的文本字段 有人能告诉我如何更改吗?模块尝试自动计算出哪个字段最适合您的变量。它将为枚举变量创建下拉字段,为文本变量创建文本区域字段,依此类推 如果不想手动设置每个要内联编辑的变量的字段类型,则需要稍微更改变量 TextareaField是为Text变量设置的字段 TextField是为Varchar变量设置的字段 对于希望成为TextFie
有人能告诉我如何更改吗?模块尝试自动计算出哪个字段最适合您的变量。它将为
枚举
变量创建下拉字段
,为文本
变量创建文本区域字段
,依此类推
如果不想手动设置每个要内联编辑的变量的字段类型,则需要稍微更改变量
TextareaField
是为Text
变量设置的字段
TextField
是为Varchar
变量设置的字段
对于希望成为TextField
而不是TextareaField
的任何变量,请将其类型从Text
更改为Varchar(255)
(或者更改所需的字符限制)
否则,您可以使用手动设置字段
设置显示字段
,如中所述
我已经试过了。但之前创建的记录的存储内容不显示。此外,仅显示1个字段,我无法添加新字段records@cSGermany-今后,请在您的问题中提及您尝试了什么以及为什么不起作用。这将为尝试帮助的人节省时间。我已经更新了我的答案,以显示如何自动显示TextField而不是TextareaField。我还扩展了手动解决方案。我已经测试了手动解决方案,发现它没有改变我是否可以添加新记录。注意,如果手动设置字段,则需要声明每个字段,而不仅仅是要更改的字段。
$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
));