Я использую EXT-js для проекта, обычно все довольно прямолинейно с EXT-js, но с PropertyGrid я не уверен. Я хотел бы получить совет по поводу этого фрагмента кода.EXT-js PropertyGrid лучшие методы для достижения обновления?
Первый магазин, чтобы заполнить таблицу свойств, на события загрузки:
var configStore = new Ext.data.JsonStore({
// store config
autoLoad:true,
url: url.remote,
baseParams : {xaction : 'read'},
storeId: 'configStore',
// reader config
idProperty: 'id_config',
root: 'config',
totalProperty: 'totalcount',
fields: [{
name: 'id_config'
}, {
name: 'email_admin'
}
, {
name: 'default_from_addr'
}
, {
name: 'default_from_name'
}
, {
name: 'default_smtp'
}
],listeners: {
load: {
fn: function(store, records, options){
// get the property grid component
var propGrid = Ext.getCmp('propGrid');
// make sure the property grid exists
if (propGrid) {
// populate the property grid with store data
propGrid.setSource(store.getAt(0).data);
}
}
}
}
});
вот PropertyGrid:
var propsGrid = new Ext.grid.PropertyGrid({
renderTo: 'prop-grid',
id: 'propGrid',
width: 462,
autoHeight: true,
propertyNames: {
tested: 'QA',
borderWidth: 'Border Width'
},
viewConfig : {
forceFit: true,
scrollOffset: 2 // the grid will never have scrollbars
}
});
До сих пор так хорошо, но со следующей кнопкой, я я вызову обновление старой школы, и мой вопрос:
Это правильный способ обновления этого компонента? Или лучше для пользователя редактор? или что-то еще ...
для регулярной сетки я использую методы магазина, чтобы сделать обновление, удаление и т.д. ...
Примеров действительно мало на этом! Даже в книгах о ext-js!
new Ext.Button({
renderTo: 'button-container',
text: 'Update',
handler: function(){
var grid = Ext.getCmp("propGrid");
var source = grid.getSource();
var jsonDataStr = null;
jsonDataStr = Ext.encode(source);
var requestCg = {
url : url.update,
method : 'post',
params : {
config : jsonDataStr , xaction : 'update'
},
timeout : 120000,
callback : function(options, success, response) {
alert(success + "\t" + response);
}
};
Ext.Ajax.request(requestCg);
}
});
и спасибо за чтение.
Большое спасибо bmoeskau. – Tom