如何在网格行中呈现窗体

dvtswwa3  于 2022-09-26  发布在  其他
关注(0)|答案(1)|浏览(152)

我试图在自定义行网格中呈现表单,但没有成功。

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

你知道怎么做吗?
小提琴:https://fiddle.sencha.com/#fiddle/183e
谢谢
用taubi19糖编辑。

b1uwtaje

b1uwtaje1#

我想你还不太明白这些概念。表单是视图的一部分,存储是处理数据的对象。您希望有一个列,其中的每一行都是一个表单。这意味着您需要的列的xtype不是textfield,而是自定义的。我在senchas厨房Flume上发现,我们需要一个“widgetcolumn”。在您的提琴中,用以下代码更改列数组,您将在每一新行中都有一个表单。

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"
            }
         ]
      }
   }
]

我建议您删除将表单添加到商店的操作。您可以将记录/数据添加到存储。商店。add方法将模型示例作为参数(Ext.data.Store.add)。

相关问题