У меня есть две модели данных: Writer.AttributValeur
и Writer.Produit
.ExtJS: как вставить запись в магазин в другой магазин?
Writer.Produit
имеет отношения one2man с Writer.AttributValeur
.
Я хочу отобразить (и создать/отредактировать/удалить) список Writer.Produit
. И я хочу иметь возможность добавить Writer.AttributValeur
к текущему Writer.Produit
.
Так вот что я сделал: два магазина:
- первый связан с сеткой (и формы) для отображения (и для создания/редактирования/удаления) список
Writer.Produit
. - второй используется для отображения списка (только список)
Writer.AttributValeur
В первой сетке, есть кнопка «Добавить AttributValeur
». Когда пользователь нажимает на него, я показываю Windows, где есть сетка, связанная со вторым хранилищем. Если пользователь выбирает запись, и нажмите кнопку ОК Сюр, я могу получить Writer.AttributValeur
записи с этим кодом:
var currentAttribut = gridAttributs.getView()
.getSelectionModel()
.getSelection()[0];
Я хочу, чтобы добавить эту запись, currentAttribut
, в Writer.Produit
магазин.
Любая идея, как это сделать? Ниже приведена декларация ExtJS моих моделей данных и создание моих магазинов.
Ext.define('Writer.AttributValeur', {
extend: 'Ext.data.Model',
fields: [{
name: 'id',
type: 'int',
useNull: true
},
'description',
'val'
],
belongsTo: 'Writer.Produit'
});
Ext.define('Writer.Produit', {
extend: 'Ext.data.Model',
fields: [{
name: 'id',
type: 'int',
useNull: true
},
'titre',
'description'
],
hasMany: {
model: 'Writer.AttributValeur',
name: 'attributs'
}
});
var store = Ext.create('Ext.data.Store', {
model: 'Writer.Produit',
autoLoad: true,
autoSync: true,
proxy: {
type: 'ajax',
api: {
read: 'json/liste_view/',
create: 'json/item/?mode=create',
update: 'json/item/?mode=update',
destroy: 'json/item/?mode=destroy'
},
reader: {
type: 'json',
successProperty: 'success',
root: 'data',
messageProperty: 'message'
},
writer: {
type: 'json',
writeAllFields: true,
root: 'data'
}
}
});
var storeAttributs = Ext.create('Ext.data.Store', {
model: 'Writer.AttributValeur',
autoLoad: true,
autoSync: true,
proxy: {
type: 'ajax',
api: {
read: 'json/attributs/'
},
reader: {
type: 'json',
successProperty: 'success',
root: 'data',
messageProperty: 'message'
}
}
});
ОК Я отмечаю ваш вопрос как «хорошо», потому что он отвечает на мой вопрос. Мой вопрос не был хорошо сформирован, я спрошу еще один;) –