EXT-js "PropertyGrid" - Steuerelement best practices zu erreichen, wird ein update?
Ich bin mit EXT-js für ein Projekt in der Regel ist alles ziemlich straight-forward mit EXT-js, aber mit dem propertyGrid-Steuerelement, bin ich nicht sicher.
Ich würde gerne einige Ratschläge über dieses Stück code.
Ersten store füllen Sie die Eigenschaft grid,
auf dem load-Ereignis:
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);
}
}
}
}
});
hier ist das "propertyGrid" - Steuerelement:
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
}
});
So weit So gut, aber mit dem weiter-button, werde ich die trigger eine old-school-update,
und meine Frage :
Ist, dass die richtige Methode zum aktualisieren dieser Komponente ?
Oder ist es besser, wenn der Benutzer einen editor ?
oder etwas anderes...
für regelmäßige raster, die ich mit dem store-Methoden zu tun, das update, delete,etc...
Die Beispiele sind wirklich Mangelware!
Auch in Büchern über 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);
}
});
und vielen Dank für das Lesen.
InformationsquelleAutor Tom | 2010-05-13
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dass sollte in Ordnung sein. Das PropertyGrid-Steuerelement und unterstützende Klassen enthalten waren früh in Ext, noch bevor eine Menge von Klassen, die in der aktuellen Ext.Daten.* namespace. Es kam nie richtig vollständig aktualisiert und entspricht den APIs zur Verfügung, auf der anderen standard-Daten-Klassen. Das "PropertyGrid" ist tatsächlich nicht mit einem einfachen Ext.Daten.Speichern unter der Haube die Daten speichern, aber die typischen laden, Methoden und Ereignisse sind nicht ausgesetzt. Als solche werden Sie entweder zu haben, um nicht mit
getSource()
oder anderes zu tun beginnen einige größere überschreiben.InformationsquelleAutor Brian Moeskau