- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我在 GridFieldConfig_RelationEditor 上使用 gridfieldextensions 和 GridFieldEditableColumns。
How can the GridField - Actions be moved to the right?
[![在此处输入图片描述][1]][1]
类 StaffCatObject 扩展了 DataObject
private static $many_many = array(
'Staffs' => 'Staff'
);
private static $many_many_extraFields = array(
'Staffs' => array(
'SortOrder' => 'Int',
'Display' => 'Boolean(1)'
),
);
public function getCMSFields() {
$fields = parent::getCMSFields();
.......
$GridFieldConfig = GridFieldConfig_RelationEditor::create();
$GridFieldConfig->removeComponentsByType('GridFieldPaginator');
$GridFieldConfig->addComponent(new GridFieldPaginator(20));
$GridFieldConfig->addComponent(new GridFieldEditableColumns());
$GridFieldConfig->addComponent( new GridFieldDeleteAction());
$items = $this->Staffs();
if (class_exists('GridFieldOrderableRows') && !$items instanceof UnsavedRelationList) {
$GridFieldConfig->addComponent(new GridFieldOrderableRows('SortOrder'));
}
$gridfield = new GridField("Staff", $this->StaffCatTitle, $this->Staffs()->sort('SortOrder'), $GridFieldConfig); //->sort('SortOrder')
$gridfield->getConfig()->getComponentByType('GridFieldEditableColumns')->setDisplayFields(array(
'Display' => array(
'callback' => function ($record, $column, $gridfield) {
return new CheckboxField('Display');
},
'title' => 'Display'
),
'AdImpressum' => array(
'title' => 'Ad Impressum',
'field' => 'CheckboxField'
)
));
$fields->addFieldToTab('Root.Main', $gridfield);
return $fields;
类 Staff 扩展了 DataObject
private static $belongs_many_many = array(
'StaffCatObjects' => 'StaffCatObject'
);
static $summary_fields = array(
'Thumbnail' => 'Thumbnail',
'StaffTitle' => 'Name',
'Email' => 'Email',
'CheckDisplay' => 'wird angezeigt in'
);
最佳答案
您正在追加 GridField 的末尾。一种解决方案是使用以下代码清空 Actions 列:
$config->removeComponentsByType('GridFieldDeleteAction');
$config->removeComponentsByType('GridFieldEditButton');
在创建 GridField 之后,然后在使用以下代码添加 GridFieldEditableColumns 之后读取它们:
$config->addComponent(new GridFieldEditButton());
$config->addComponent(new GridFieldDeleteAction());
提示:您的第一次初始化是不必要的:
$GridFieldConfig = GridFieldConfig_RelationEditor::create();
$GridFieldConfig->removeComponentsByType('GridFieldPaginator');
$GridFieldConfig->addComponent(new GridFieldPaginator(20));
$GridFieldConfig->addComponent(new GridFieldEditableColumns());
$GridFieldConfig->addComponent( new GridFieldDeleteAction());
这可以通过以下方式完成:
$GridFieldConfig = GridFieldConfig_RelationEditor::create(20);
关于php - Silverstripe 3.4 gridfieldextensions GridFieldEditableColumns,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40068351/
我正在尝试使用 https://github.com/silverstripe-australia/silverstripe-gridfieldextensions/创建一个网格字段,我可以在其中添加
我在 GridFieldConfig_RelationEditor 上使用 gridfieldextensions 和 GridFieldEditableColumns。 How can the Gr
我是一名优秀的程序员,十分优秀!