Показать сообщение отдельно
  #9 (permalink)  
Старый 07.07.2012, 16:54
Профессор
Отправить личное сообщение для potkin Посмотреть профиль Найти все сообщения от potkin
 
Регистрация: 23.08.2008
Сообщений: 162

Цитата:
как-то не стыкуются (ведь, насколько я понял, вы хотите скрестить ужа и ежа, сиречь - Ext.form.Panel и Ext.grid.Panel)...
Сохраняя грид, передаю "за компанию" и параметры:
store.proxy.extraParams.ParamTextField01 = "XXX01";
store.proxy.extraParams.ParamTextField02 = "XXX02";
store.save({
 //Надо обязательно получить ответ: сохранило или же нет.
 });

Параметры - это Шапка: ТекстФилд, ЧексБоксы, КомбоБоксы, ..., их определённое количество (оно не меняется).
Грид - табличная часть, количество меняется.

Цитата:
"Не верю" (c) См. выше + Ext.data.AbstractStore.sync() - там тот же if ( needsSync ...
Зачем мне обманывать?
Могу видео на ЮТуб закинуть ...

Код такой:
<script type="text/javascript" src='http://dev.sencha.com/deploy/ext-4.0.7-gpl/ext-all.js'></script>
<link rel="stylesheet" href="http://dev.sencha.com/deploy/ext-4.0.7-gpl/resources/css/ext-all.css" />

....

// *** *** *** МОДЕЛЬ *** *** *** 
Ext.define('BarCode', { extend: 'Ext.data.Model', fields: ...
// *** *** *** ХРАНИЛИЩЕ *** *** *** 
var storeGridBarCode = Ext.create('Ext.data.JsonStore', {
 restful: true,
 pageSize: 40,
 model: 'BarCode',
 proxy: {
  type: 'rest', //'ajax',
  batchActions: true,
  url: "Handlers/DirGrid.ashx?pID=BarCode",
  reader: { type: "json", successProperty: 'success', root: "BarCode",  messageProperty: 'message' },
  writer: { type: "json", encode: false, root: "BarCode" }
 }
}); storeGridBarCode.load();

var rowEditing = Ext.create('Ext.grid.plugin.RowEditing');
// *** *** *** П-Е *** *** *** 
var PanelGridBarCode = Ext.create("Ext.grid.Panel", {
 autoScroll: true,
 store: storeGridBarCode,
 columns: [{...} ],
 plugins: [rowEditing],
 bbar: new Ext.PagingToolbar({ store: storeGridBarCode, displayInfo: true, displayMsg: 'Showing  {0} - {1} of {2}'}),
 dockedItems: [ 
  { xtype: 'toolbar', items: [ 
   { text: 'Add', handler: function () { storeGridBarCode.insert(0, new BarCode()); rowEditing.startEdit(0, 0);  }},
  '-',
   { itemId: 'delete', text: 'Delete', disabled: true, handler: function () { var selection = PanelGridBarCode.getView().getSelectionModel().getSelection()[0]; if (selection) { storeGridBarCode.remove(selection); } } }
  ]
 }
 ]
});
PanelGridBarCode.getSelectionModel().on('selectionchange', function (selModel, selections) { PanelGridBarCode.down('#delete').setDisabled(selections.length === 0); });

//Сохранение:
storeGridBarCode.getProxy().url = "Handlers/..."; //Меняем УРЛ
//Параметры Шапки
store.proxy.extraParams.ParamTextField01 = "XXX01";
store.proxy.extraParams.ParamTextField02 = "XXX02";
storeGridBarCode.sync({ ... });


Под 4.0.7 - отсылаются на Сервер все данные сразу, кроме приёма клиентом ответа с сервера (((
Под 4.1.0 - есть приём клиентом ответа с сервера, но отсылаются на Сервер данные по частям (((

4.1.0:
<script type="text/javascript" src='http://dev.sencha.com/deploy/ext-4.1.0-gpl/ext-all.js'></script>
<link rel="stylesheet" href="http://dev.sencha.com/deploy/ext-4.1.0-gpl/resources/css/ext-all.css" />

Последний раз редактировалось potkin, 07.07.2012 в 17:40.
Ответить с цитированием