0

我是 ExtJs 的新手。我需要使用列布局在 2 列中创建一个条目表单。

我的代码如下:

Ext.onReady(function(){                         

                var patientForm = new Ext.FormPanel({
                    renderTo: "patientCreation",
                    frame: true,
                    title: 'Search Criteria',
                    labelAlign: 'left',
                    labelStyle: 'font-weight:bold;',
                    labelWidth: 85,
                    width: 900,
                    items: [
                    {
                        layout:'column',
                        items:[
                        {   // column #1
                            columnWidth: .33,
                            layout: 'form',
                            items: [
                                {   xtype: 'textfield',
                                    fieldLabel: 'FirstName',
                                    name: 'firstName',
                                    vtype : 'alpha',
                                    allowBlank:false
                                },{
                                    xtype: 'textfield',
                                    fieldLabel: 'MiddleName',
                                    name: 'middleName',
                                    vtype : 'alpha'             
                                }
                            ] // close items for first column
                        }]
                    }]

                        });         
                        var win = new Ext.Window({                          
                            layout:'form',
                            closable: false,
                            resizable: false,
                            plain: true,
                            border: false,
                            items: [patientForm]
                        });
            win.show();
            });

但是当我运行代码时,我得到h is undefined error。如何在列布局中设计表单?是否有任何程序,步骤或链接可以给出清晰的想法?

4

3 回答 3

2

我用 ExtJs 3.2.2 运行了相同的代码并得到了类似的错误。但是当我删除renderTo: "patientCreation" 代码时: 在此处输入图像描述

该部分不是必需的,因为您将表单放置在窗口中。

于 2012-04-27T16:09:03.930 回答
0

我对 ExtJS 3 一无所知。如果您使用的是 ExtJS 4,那么您layout在错误的位置指定了配置。您已经在配置中指定了它items,它不应该在items配置中。

布局可以在 ExtJS 4 中指定如下:

Ext.define('your_domain_name.viewName', {
    extend : 'Ext.panel.Panel',
    alias : 'widget.any_name_you_want',
    layout : 'column',

    initComponent : function() {
        this.items = [
            // all items inside form/panel will go here
        ];
    this.callParent(arguments);
    }
});

您可以在此处获取有关所有面板的示例代码

于 2012-04-27T06:55:54.137 回答
0

尝试将renderTo配置应用于窗口而不是表单

检查示例

于 2012-04-27T08:40:05.427 回答