如何在网格行中呈现表单
How to render a form in a grid row
我试图在自定义行网格中呈现表单但没有成功。
handler: function (button, record, pressed, eOpts) {
var grid = this.up('grid');
var store = grid.getStore();
var innerPanel = Ext.widget('form', {
//renderTo: record,
title: 'Title Test',
name: 'test',
items: [{
xtype: "textfield",
name: "testfield",
fieldLabel: "FooTest"
}]
});
// store.add(record);
store.add(innerPanel);
}
知道怎么做吗?
Fiddle: https://fiddle.sencha.com/#fiddle/183e
谢谢。
使用 taubi19 的建议进行编辑。
我认为您还不太了解这些概念。表单是视图的一部分,商店是一个对象,负责处理数据。您想要一列,其中每一行都是一个表单。这意味着您需要一个 xtype 不是文本字段的列,而是自定义的列。我在 senchas kitchen sink 上发现我们需要一个 'widgetcolumn ' 。在您的 fiddle 中,使用以下代码更改列数组,您将在每个新行中都有一个表单。
columns:[
{
header:'Name',
dataIndex:'name',
flex:1,
xtype:'widgetcolumn',
widget:{
width:400,
xtype:'form',
items:[
{
xtype:"textfield",
name:"testfield",
fieldLabel:"FooTest"
},
{
xtype:"textfield",
name:"testfield1",
fieldLabel:"FooTest1"
}
]
}
}
]
并且我建议您删除将表单添加到商店。您将 records/data 添加到商店。 store.add 方法将模型实例作为参数 (Ext.data.Store.add).
我试图在自定义行网格中呈现表单但没有成功。
handler: function (button, record, pressed, eOpts) {
var grid = this.up('grid');
var store = grid.getStore();
var innerPanel = Ext.widget('form', {
//renderTo: record,
title: 'Title Test',
name: 'test',
items: [{
xtype: "textfield",
name: "testfield",
fieldLabel: "FooTest"
}]
});
// store.add(record);
store.add(innerPanel);
}
知道怎么做吗?
Fiddle: https://fiddle.sencha.com/#fiddle/183e
谢谢。
使用 taubi19 的建议进行编辑。
我认为您还不太了解这些概念。表单是视图的一部分,商店是一个对象,负责处理数据。您想要一列,其中每一行都是一个表单。这意味着您需要一个 xtype 不是文本字段的列,而是自定义的列。我在 senchas kitchen sink 上发现我们需要一个 'widgetcolumn ' 。在您的 fiddle 中,使用以下代码更改列数组,您将在每个新行中都有一个表单。
columns:[
{
header:'Name',
dataIndex:'name',
flex:1,
xtype:'widgetcolumn',
widget:{
width:400,
xtype:'form',
items:[
{
xtype:"textfield",
name:"testfield",
fieldLabel:"FooTest"
},
{
xtype:"textfield",
name:"testfield1",
fieldLabel:"FooTest1"
}
]
}
}
]
并且我建议您删除将表单添加到商店。您将 records/data 添加到商店。 store.add 方法将模型实例作为参数 (Ext.data.Store.add).