2017-04-12 2 views
0

Der folgende Code muss Elemente (indirekte Auswahl) programmgesteuert auswählen, aber dies geschieht nur im sichtbaren Teil der Tabelle (oder ersten 15 Zeilen). Scroll-Elemente bleiben deaktiviert.Dojo EnhancedGrid Elemente nicht programmgesteuert im unsichtbaren Teil der Ansicht auswählen

Ist es möglich, dies zu beheben?

var grid = context._events._gridView; 
grid.selection.deselectAll(); 
var data = jsResponse.message.items; 
for (var i = 0; i < data.length; ++i) { 

    grid.store.fetch({ 
     query: {id: data[i].id}, 
     onComplete: function (items) 
     { 
      dojo.forEach(items, function (item, index) 
      { 
       console.debug(item.id + "/" + index); 
       try { 
        //grid.selection.addToSelection(item); 
        var idx = grid.getItemIndex(item); 
        grid.selection.setSelected(idx,true); 
       } 
       catch (e) { 
        console.debug(e); 
       } 
      }); 
     } 
    }); 
} 
+0

grid.store.fetch in der Tat ruft onComplete für jede gewünschte Zeile, aber dann grid.selection.setSelected (idx, true) oder grid.selection.addToSelection (Punkt) gesetzt Auswahl erfolgreich abgeschlossen ist nur auf vsisble Reihen. –

Antwort

0

Wenn Sie rowsPerPage verwenden und auf einen hohen Wert setzen, können Sie diesen Fehler umgehen.

gridView = new dojox.grid.EnhancedGrid({ 
     rowSelector: "20px", 
     rowsPerPage: plugins.indirectSelection?1500:15, 
     plugins: plugins 
    }, 
    document.createElement('div')); 
Verwandte Themen