BaseInfo モデルとの hasone 関連付けを持つ IPIdentifierMod モデルがあります。
Ext.define('JP.model.IPIdentifierMod', {
extend:'Ext.data.Model',
fields:[
'enterpriseIdType',
{
name: 'referenceVerifiedDate',
type: 'date',
convert: function(v, record) {
return Ext.Date.format((new Date(v)), 'Y-m-d');
console.log(v);
console.log(record);
}
}
],associations: [
{ type: 'hasOne',
model: 'BaseInfoMod',
name:'enterpriseIdType'
}
]
});
ベース情報:
Ext.define('JP.model.BaseInfoMod', {
extend:'Ext.data.Model',
fields:[
'typeId',
'typeName',
'parentId',
'priority'
],
proxy: {
type: 'ajax',
reader: {
type: 'json',
root:'results',
idProperty: 'typeId'
},
api: {
read : contextPath + '/baseInfo/getBaseInfo'
},
extraParams: {
baseEntityNo: ''
}
}
});
グリッドに IPIdentifierMod データを表示します
BaseInfo の naemType を表示する対応するグリッド列は次のとおりです。
{
header:'Name Type',
dataIndex:'enterpriseIdType',
sortable:true,
renderer: function(value) {
return value.typeName;
}
},
これはうまくいきます。列に enterpriseIdType.typeName が表示されます。
RowEditingPlugin を追加し、次のエディターをこの列に追加しました
editor: {
allowBlank: false,
xtype: 'combobox',
displayField: 'typeName',
valueField: 'typeId',
store: 'EnterpriseIdType',
}
エディターでは、フィールドの値は "[object Object]" です。実際の列に対して行ったのと同じように、このオブジェクトをレンダリングして名前を表示する必要があります。また、ComboBox でアイテムを選択すると、enterpriseIdType オブジェクトはデータに作成されず、valueField で指定されたフィールドの値が保存されるだけです。私はそれを検索し、答えのない私の問題のようなものを見つけました。 煎茶フォーラム
ありがとうございました