ExtJS-Grid-Zeile Löschen - Erste Ausgewählte Zeile
Ich erhalte die folgende Fehlermeldung, wenn Sie versuchen, um die ausgewählte Zeile:
Uncaught TypeError: Object #<HTMLDivElement> has no method 'getView'
Wie bekommt Ihr die aktuell ausgewählte Zeile, wenn ich nicht bekommen kann den Blick und damit das SelectionModel?
Meine Anzeigen-Code:
Ext.define('MyLodge.view.content.MemberGrid', {
extend: 'Ext.grid.Panel',
alias: 'widget.membergrid',
initComponent: function(){
var rowEditing = Ext.create('Ext.grid.plugin.RowEditing');
var store = Ext.create('MyLodge.store.Members');
Ext.apply(this, {
height: this.height,
plugins: [rowEditing],
store: store,
stripeRows: true,
columnLines: true,
columns: [{
id :'id',
text: 'ID',
width: 40,
sortable: true,
dataIndex: 'id'
},{
text : 'Name',
flex: 1,
sortable : true,
dataIndex: 'name',
field: {
xtype: 'textfield'
}
},{
text : 'E-Mail',
width : 150,
sortable : true,
dataIndex: 'email',
field: {
xtype: 'textfield'
}
},{
text : 'Href',
width : 200,
editable: false,
sortable : true,
dataIndex: 'href'
}],
dockedItems: [{
xtype: 'toolbar',
items: [{
text: 'Add',
iconCls: 'icon-add',
handler: function(){
//empty record
store.insert(0, new MyLodge.model.Member());
rowEditing.startEdit(0, 0);
}
}, {
text: 'Delete',
iconCls: 'icon-delete',
handler: function(){
var selection = grid.getView().getSelectionModel().getSelection()[0];
if (selection) {
store.remove(selection);
}
}
},'-',{
text: 'Save',
iconCls: 'icon-save',
handler: function(){
store.sync({
success: function(response){
store.load()
}
});
}
},{
text: 'Refresh',
handler: function(){
store.load();
}
}]
}]
});
this.callParent(arguments);
}
});
InformationsquelleAutor Kevin | 2013-03-16
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wäre eine option hinzufügen werden die
scope
um die Schließung als eine variable:Also in der Prozedur, die Sie verwenden können
me
zu finden, um das raster:Beispiel: http://jsfiddle.net/Sn4fC/
Einer zweiten option kann eine
click
listener
statt derhandler
Angabe desscope
:Beispiel: http://jsfiddle.net/XyBbF/
InformationsquelleAutor CD..
Das Problem ist, dass die 'grid' ist nicht verfügbar in der handler-Funktion, Bereich oder ist es nicht das ein, was Sie eigentlich erwartet werden.
Versuchen Sie das Referenz-raster und verwenden Sie es in handler, wie unten gezeigt:
Deine Antwort-kann arbeiten, aber die Bereitstellung von Beispielen über jsfiddle ist viel besser.
InformationsquelleAutor Srikanth