作为全功能表单元素的数据表
A datatable as the full-featured form element
我想要实现的想法是将数据表嵌入到表单中。
目前,表单充当容器。到目前为止没有任何问题,但如果忽略数据表的 name
属性。数据表不属于 elements
形式。 AFAICS 以下配置很常见:
{
view:"form",
elements:[
{ view:"text", name:"inp1", value:"Test input" },
{ view:"datatable", name:"formDT", autoConfig:true, data:grid_data }
]
}
http://webix.com/snippet/7b7a8f2e
但是如果在 dataForm.elements
我只看到输入。
理想情况下,我想通过表单的 setValues
和 getValues
方法获取和设置数据表选择。或者我是否需要编写自己的方法来分别从输入和数据表中收集数据?以前有人遇到过这样的任务吗? TIA.
这里自定义组件草稿继承datatable但支持getValue setValue 以充当表单输入:
webix.protoUI({
name: "datatableInput",
defaults: {
},
$init: function(config) {
},
// Define component value (used by form setValues)
setValue: function(value) {
console.log('setValue');
this.clearSelection();
if (value) this.select(value);
},
// Get component value (used by form getValues)
getValue: function() {
console.log('getValue');
var item = this.getSelectedItem();
if (item) return item.id;
}
}, webix.ui.datatable);
更新的代码段:
我想要实现的想法是将数据表嵌入到表单中。
目前,表单充当容器。到目前为止没有任何问题,但如果忽略数据表的 name
属性。数据表不属于 elements
形式。 AFAICS 以下配置很常见:
{
view:"form",
elements:[
{ view:"text", name:"inp1", value:"Test input" },
{ view:"datatable", name:"formDT", autoConfig:true, data:grid_data }
]
}
http://webix.com/snippet/7b7a8f2e
但是如果在 dataForm.elements
我只看到输入。
理想情况下,我想通过表单的 setValues
和 getValues
方法获取和设置数据表选择。或者我是否需要编写自己的方法来分别从输入和数据表中收集数据?以前有人遇到过这样的任务吗? TIA.
这里自定义组件草稿继承datatable但支持getValue setValue 以充当表单输入:
webix.protoUI({
name: "datatableInput",
defaults: {
},
$init: function(config) {
},
// Define component value (used by form setValues)
setValue: function(value) {
console.log('setValue');
this.clearSelection();
if (value) this.select(value);
},
// Get component value (used by form getValues)
getValue: function() {
console.log('getValue');
var item = this.getSelectedItem();
if (item) return item.id;
}
}, webix.ui.datatable);
更新的代码段: