2016-08-17 3 views
1

ich ein einfaches Gitter haben, das wie so aussieht:Speicher fügen - funktioniert nicht

{ 
    xtype: "grid", 
    columns: [{ 
     header: 'Title', flex: 1, dataIndex: 'Title' 
    }], 
    store: Ext.create('Ext.data.Store', { 
     fields:['id', 'Title'] 
    }) 
} 

Und ich habe eine Funktion (an einer Taste), die, wie ich glaube, dieses Raster mit einigen Daten füllen sollten . Er tut es, wie so:

grid.store.removeAll(); 
records = [{"id":"1", "Title", "Hello world"}]; 
grid.store.add(records); 
grid.store.load(); 
console.log(grid.store.getCount()); 

Aber aus irgendeinem Grunde verrückt, der Laden ist leer und grid.store.getCount() Echos „0“. Was zum Teufel ist hier los? PS. Ich verwende ExtJS 6.

EDIT

Wenn jedoch leicht ich meinen Code dies ändern:

... 
store: Ext.create('Ext.data.Store', { 
    autoLoad: false, 
    fields:['id','Title'], 
    data:[{"id": 1,"Title": "Hello world"}] 
}) 
... 

//and in function just one line of code: 
grid.store.load(); 

dann beginnt es zu arbeiten. So scheint es, als wäre das ganze Problem mit store.add. Es tut nicht was es soll.

Antwort

2

Entfernen Sie einfach grid.store.load().

Die load markiert den Laden als eine Last benötigen, aber wenn Sie Datensätze hinzufügen add das ist nicht das, was Sie brauchen.

Arbeitsbeispiel: https://fiddle.sencha.com/#fiddle/1fbv

+0

Oh, danke, Sir! Du hast meinen Tag hundertmal gerettet. – Jacobian

Verwandte Themen