0

ExtJ は初めてです。列レイアウトを使用して 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

renderToフォームではなくウィンドウに構成を適用してみてください

確認

于 2012-04-27T08:40:05.427 に答える
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 に答える