Frage

Ich arbeite an einem Projekt, das ich brauche die Infragistics WebGrid Steuerung für einige Listen von Daten zu verwenden. Ich bin Laden der Daten auf der Client-Seite JavaScript für die Darstellung auf einer Karte verwendet wird, und dann muss ich in mehreren WebGrids, dass dieselben Daten angezeigt werden soll. Alle Daten werden in dem WebGrids angezeigt werden, sondern nur eine Teilmenge der Daten (nur das, was derzeit auf dem Bildschirm ist) wird auf der Karte zu einem bestimmten Zeitpunkt aufgetragen werden. Da ich die Daten mit Hilfe von JavaScript / Ajax bin Laden, würde Ich mag es nur einmal laden und verwenden den gleichen Mechanismus auch die WebGrid Steuerung mit Daten zu füllen.

Hat jemand irgendwelche Tipps / Hinweise auf die Arbeit mit dem WebGrid vollständig aus clientseitige JavaScript / Ajax-Code?

War es hilfreich?

Lösung

Der einzige Gedanke, der in den Sinn kommt, ist erfolgsabhängig. Wir fanden, dass das dynamische Erzeugen und bevölkern Zeilen für einen UltraWebGrid deutlich langsamer war, als wir es gewünscht hätte. (In unserem Fall waren wir Reihen von einem Gitter zum anderen und schlagen Performance-Probleme, wenn die Anzahl der Zeilen bewegen zu groß war.)

Wenn ich etwas tat, wie Sie heute beschreiben, würde ich das Gitter von der Serverseite füllen, wenn überhaupt möglich, und der Anzeige der relevanten Werte auf der Karte von dort aus.

Als zusätzliche Haftungsausschluss verwenden wir Infragistics 2007.1; Ich weiß nicht, ob 2008.x besser in diesem Bereich ist.

Andere Tipps

Die Infragistics webgrids ein sehr komplexes Client-Objektmodell verfügbar machen, die Sie in der Lage sein werden, verwenden, um Ihre Daten Client-Seite zu füllen.

Das erste, was Sie tun, wollen Sie einen Blick auf die volle CSOM für die WebGrid Kontrolle zu bekommen, können Sie die aktuelle doc-Version finden Sie unter: http://help.infragistics.com/NetAdvantage/NET/2008.3/CLR2.0/

Um ein kurzes Beispiel zu machen, benötigen Sie einen refence zu Ihrem Raster (n) greifen und dann ein paar Zeilen und Daten hinzufügen. Es wäre wahrscheinlich die Spaltendefinitionen für Ihre Netze zur Entwurfszeit leichter zu gründen, anstatt zu versuchen, sie alle in der JavaScript zu tun.

Erstens: eine refrence zu Ihrem Raster erhalten:

var grid = igtbl_getGridById('dataGridControlID');

Dann eine neue Zeile hinzufügen:

var newRow = grid.Rows.addNew()

Nachdem das ist getan Sie können Schleife die Spalten Ihrer Zeile die Daten zu füllen:

var oCols = newRow.Band.Columns;
for(var i=0; i < oCols.length; i++) {
    newRow.getCell[i].setValue(yourValue)
}

oder jedes adressieren, indem Schlüssel seine Daten zu füllen:

newRow.getCellFromKey(colKey).setValue(yourValue,fireEvents);
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top