Сообщение от potkin
|
Сообщение от Ex_Soft
|
как-то не стыкуются (ведь, насколько я понял, вы хотите скрестить ужа и ежа, сиречь - Ext.form.Panel и Ext.grid.Panel)...
|
Сохраняя грид, передаю "за компанию" и параметры
|
Я так подозреваю - имеет место ошибка коммуникации. Подразумевалось, что Ext.form.Panel должна знать о Ext.grid.Panel (или наоборот) и, соответственно, взаимодействовать с ней со всеми вытекающими...
Сообщение от potkin
|
Под 4.0.7 - отсылаются на Сервер все данные сразу
|
Вот Вам
дрозофила
Ext.onReady(function() {
if(window.console && console.clear)
console.clear();
if(window.console && console.log)
console.log("core: %s, extjs: %s", Ext.versions.core.version, Ext.versions.extjs.version);
var
extraParamField = Ext.create("Ext.form.field.Text", {
value: "extraParamValue"
}),
store = Ext.create("Ext.data.Store", {
fields: [
{ name: "id", type: "int" },
"name"
],
proxy: {
type: "ajax",
url: "handler.ashx"
},
listeners: {
beforesync: function(options, eOpts) {
this.getProxy().extraParams = {
extraParamValue: extraParamField.getValue()
};
}
},
data: [
{ id: 1, name: "Record# 1" },
{ id: 2, name: "Record# 2" },
{ id: 3, name: "Record# 3" },
{ id: 4, name: "Record# 4" }
]
}),
grid = Ext.create("Ext.grid.Panel", {
store: store,
columns: [
{ dataIndex: "id", header: "id", editor: { xtype: "numberfield" }, flex: 1 },
{ dataIndex: "name", header: "name", editor: { xtype: "textfield" }, flex: 1 }
],
plugins: [
Ext.create("Ext.grid.plugin.CellEditing", {
clicksToEdit: 2
})
],
tbar: [{
text: "Add",
handler: function(btn, e) {
store.add(Ext.create(store.getProxy().getModel(), { name: "blah-blah-blah" }));
}
}, {
text: "Del",
handler: function(btn, e) {
var
grid,
sm,
sel;
if(!(grid=btn.up("grid"))
|| !(sm=grid.getSelectionModel())
|| !(sel=sm.selected)
|| !sm.hasSelection())
return;
store.remove(sel.items);
}
}, {
text: "Save",
handler: function(btn, t) {
store.sync();
}
},
extraParamField
],
renderTo: Ext.getBody()
});
});
Удаляем + редактируем + добавляем, а затем - сохраняем. В Firebug'е видим - 3 (три) запроса. Что я делаю не так?