我有一個在extjs框架中創建的用戶表單。用戶表單有很多用戶字段,這些字段是作爲請求負載的一部分傳遞給REST控制器的。 我正在嘗試向用戶表單添加一個網格面板(最有可能以多行&列的表格格式)。 但我不知道如何將網格面板數據作爲請求負載的一部分傳遞給REST控制器。 如果需要更多的細節,我會發布更多的代碼。 任何幫助,將不勝感激。謝謝。通過請求負載將網格面板數據傳遞給REST控制器
Ext.define('soylentgreen.view.admin.UserForm', {
extend : 'Ext.form.Panel',
alias : 'widget.userform',
bodyStyle : 'padding:5px 5px 0',
// some userform elements like firstname,lastname, go here.....
name : 'userTeamGrid',
xtype : 'gridpanel',
id : 'userTeamGrid',
itemId : 'userTeamGrid',
multiSelect : true,
selModel : Ext.create(
'Ext.selection.CheckboxModel',
{
injectCheckbox : 'first',
mode : 'MULTI',
checkOnly : false
}),
anchor : '100%',
width : '700px',
height : 250,
flex : 1,
store : 'userTeamStore',
var user = form.getRecord();
form.updateRecord(user);
user.save({
callback : function(records, operation){
//reset the (static) proxy extraParams object
user.getProxy().extraParams = {
requestType: 'standard'
}
if(!operation.wasSuccessful()){
var error = operation.getError();
感謝您的詳細回覆。我試圖按照你解釋的方式進行編碼。 我創建了一個xtype作爲隱藏字段,用於在用戶窗體中綁定數組, 當我在隱藏域中調用setValue時,只要網格數據發生更改, 它的數據保存爲[object,Object]而不是數組值。 你能告訴我如何將這些數據作爲精確數組存儲在隱藏域中嗎? –
@PoonkodiSivapragasam正如我所說的,你必須重寫setValue函數,以便它接受數組。 – Alexander
我試圖覆蓋後,我得到錯誤ext-all.js:15未捕獲TypeError:無法讀取在Object.override(ext-all.js:15)未定義的 屬性'$ className'。你能告訴我我的代碼有什麼問題嗎? Ext.override('Ext.form.field.Hidden',{ setValue:function(val){ this.callParent(['In override']); return this; } }); –