Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/visual-studio/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Silverstripe Gridfield扩展-文本字段显示为Textarea_Silverstripe - Fatal编程技术网

Silverstripe Gridfield扩展-文本字段显示为Textarea

Silverstripe Gridfield扩展-文本字段显示为Textarea,silverstripe,Silverstripe,也许有人能帮我。我刚刚安装了Silverstripe()的网格字段扩展模块,因为我需要内联编辑/添加。它可以工作,但简单的文本字段显示为文本区域,而不是简单的文本字段 有人能告诉我如何更改吗?模块尝试自动计算出哪个字段最适合您的变量。它将为枚举变量创建下拉字段,为文本变量创建文本区域字段,依此类推 如果不想手动设置每个要内联编辑的变量的字段类型,则需要稍微更改变量 TextareaField是为Text变量设置的字段 TextField是为Varchar变量设置的字段 对于希望成为TextFie

也许有人能帮我。我刚刚安装了Silverstripe()的网格字段扩展模块,因为我需要内联编辑/添加。它可以工作,但简单的文本字段显示为文本区域,而不是简单的文本字段


有人能告诉我如何更改吗?

模块尝试自动计算出哪个字段最适合您的变量。它将为
枚举
变量创建
下拉字段
,为
文本
变量创建
文本区域字段
,依此类推

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

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
));