2012-01-04 67 views
1

我想要完成的是將信息添加到數據網格,然後我有一個按鈕「添加」,當我點擊它,它會顯示一個面板,我可以添加填充數據網格所需的所有信息。EXTJS 4渲染面板就像一個消息框

添加信息面板應顯示是這樣的:

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

上面我有這樣的一個消息做了它的一個:

 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 2012-01-04 17:08:23

回答

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

太棒了!它完美無缺!...謝謝.... – 2012-01-05 08:28:04