2012-01-04 4 views
1

私が達成しようとしているのは、データグリッドに情報を追加し、そのボタンを「追加」してクリックすると、追加できるパネルが表示されますデータグリッドを埋めるために必要なすべての情報EXTJS 4メッセージボックスのようなパネルをレンダリングする

http://img94.imageshack.us/img94/2662/emailhelp.jpg

1私はこのようなメッセージボックスでそれを行っている上:

 Ext.MessageBox.show({ 
     title : 'Email Information', 
     msg : 'your email:', 
     width : 300, 
     buttons : Ext.MessageBox.OKCANCEL, 
     multiline : true, 
     fn : addEmailInfo, 
     animateTarget : 'btn_add' 
    }); 

その後、私は何をしたいです

パネルが情報を追加するには、次のように示すべきです私はもっ​​と多くのコンポーネントを追加することができますが、パネルで同様のものです。

私は検索してきましたが、何も見つけられませんでした。事前に感謝します。

+0

あなたは 'Ext.Window'を試しましたか? – Krzysztof

答えて

2

私は見ましたが、フォームパネルにグリッド行を開くための事前定義されたExtJSメソッドはありません(そうする必要があります)。

本当にうまく動作するExtJSグリッドのインライン行編集拡張機能があります。 Just double click a grid row and the record opens editable fields for any data you set as editable。実装についての詳細はhereです。

これがうまくいかない場合は、新しいExt.windowを作成して独自のフォームパネル/フィールドを追加する必要があります。

  1. フォームを移入グリッド内のonclickリスナーを作成/選択されたレコードデータのフィールドと

  2. ウィンドウ(myWindow.show())を示します。

また、(myDataStore.set([field],[value])を使用して)データストアへのあなたの編集したり新しく作成されたレコードも(あなたがデータを取得しているところがある場合)、それをデータベースにコミットする行を保存する方法を記述しなければなりません。この例について

myWindow = Ext.create('Ext.window.Window', { 
    id: 'recordWindow', 
    title: 'New Particle', 
    resizable: false, 
    closable: false, 
    width: 605, 
    minWidth: 300, 
    minHeight: 200, 
    y: 150, 
    layout: 'fit', 
    plain:true, 
    items: myFormPanel, //your form or fields would go here 
    buttons: [{ 
     text: 'Save', 
     handler: saveRecord() 
    },{ 
     text: 'Cancel', 
     handler: resetRecordWindow() 
    }] 
});    
+0

それは完璧に動作しました!...ありがとう.... –

0

方法:

より正確にあなたの質問に答えるために、あなたがする他のフィールドを追加することができ、新しいウィンドウは、次のように行うことができますか?それは、その右側の編集フォームを持つグリッドを表示します。 Geronimoのようにフォームをウィンドウコンポーネントにラップするよりも、それが気に入らなければ、お勧めします。 http://docs.sencha.com/ext-js/4-0/#!/example/form/form-grid.html

関連する問題