Ext.define('MyApp.view.MyVehicleGridPanel', {
extend: 'Ext.grid.Panel',
alias: 'widget.mygrid',
header: false,
store: UserStore,
multiSelect: false,
columns: [
{
xtype: 'gridcolumn',
dataIndex: '_id',
text: 'Vehicle ID'
},
{
xtype: 'gridcolumn',
width: 126,
dataIndex: 'Plat_No',
text: 'Plat Number'
},
{
xtype: 'gridcolumn',
width: 200,
dataIndex: 'Name',
text: 'Added By'
}
]
})
i dont haben jede ID in der Gridpanel erklären, weil es in dynamicly verwendet wird,
so, im alias mit meiner Grid-Komponente wie unten CodeEXTJS wie bekomme ich die Komponente ohne deklarieren ID?
var grid = Ext.ComponentQuery.query('mygrid');
console.log(Ext.ComponentQuery.query('mygrid'));
if (grid.getSelectionModel().hasSelection()) { //error at here
var row = grid.getSelectionModel().getSelection()[0];
console.log(row.get('Plat_No'));
};
Aber firebug Rückkehr Fehler finden mit TypeError: grid.getSelectionModel is not a function
Gibt es noch eine andere Möglichkeit, meine Gridpanel-Komponente zu finden?
haben keine bessere Lösung? Verwenden Sie vielleicht den Klassennamen 'MyApp.view.MyVehicleGridPanel', ist die Genauigkeit besser? –
Die Verwendung von 'Klassenname' hat die gleiche Genauigkeit wie die Verwendung von Alias. Deine Lösung ist nicht falsch. Sie müssen nur damit rechnen, dass diese Abfrage das Array aller Instanzen von 'mygrid' zurückgibt, die in Ihrer Anwendung existieren. Genauer wird 'query()' mit dem zweiten Parameter oder 'up()' oder 'down()' Methoden von einer Eltern- oder Kindkomponente verwendet. – Akatum
Danke für Ihre helfende Hand, Sie helfen mir immer –