私は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();
詳細な対応をありがとうございます。私はあなたが説明した方法でコーディングしようとしています。 グリッドデータが変更されたときにsetValueを隠しフィールドで呼び出すときに、ユーザフォームで配列をバインドするためのxtypeを として作成しました。 データは配列値ではなく[オブジェクト、オブジェクト]として保存されます。 。 そのデータをhiddenfieldに正確な配列として格納する方法を教えてもらえますか? –
@PoonkodiSivapragasam私が言ったように、配列を受け入れるように、setValue関数をオーバーライドする必要があります。 – Alexander
オーバーライドしようとすると、エラーext-all.js以下になります。15 Uncaught TypeError:Object.override(ext-all.js:15)で定義されていない '$ className'の未定義の を読み取ることができません。私のコードに何が間違っているのか教えていただけますか? Ext.override( 'Ext.form.field.Hidden'、{ setValue:function(val){ this.callParent(['オーバーライド']); これを返す; } }); –