Unsere Firma wechselte von dojox/DataGrid
zu dgrid
einige Zeit zurück. Jetzt stellen wir fest, dgrid scheint dijit/dojox widgets nicht von der Box zu unterstützen.Widgets in dojo dgrid
dojox/DataGrid
hat eine formatter()
, die ein Widget zurückgeben kann. So einfach ist es dort zu doofen! Die API comparison on GitHub sagt
„D-Grid-Formatierungsfunktionen unterstützt, unterstützt aber nicht ein Widget Rückkehr von ihnen auch renderCell hat .dgrid, die return ein DOM-Knoten erwartet wird. Dies könnte angeblich für Anzeigen verwendet werden, Widgets (und das Editor-Spalten-Plugin tut genau dies). Beachten Sie, dass für die Bearbeitung von Zellen, Verwendung der Editor-Spalte Plugin ist sehr ermutigt. "
Wie genau?
Ich habe versucht, das Editor-Plugin mit {editor: ' ', editorArgs:' '}
zu verwenden. Dies macht ein Widget aber ist zu restriktiv. ZB Wie rende ich eine dijit/Button
mit seiner Bezeichnung der Wert der Zelle? Oder etwas komplizierter, wie verwende ich eine (weniger bekannte) dojox/image/MagnifierLite
mit einer generiert von einer Formatierungsfunktion mit der src
ist der Wert des Geschäfts?
Ja nutzen! Das funktioniert! Vielen Dank! In Ihrem Beispiel verwenden Sie renderCell wie formatter in dojox/DataGrid. Die Dokumentation für Dgrid besagt, dass, wenn Formatierung und renderCell beide angewendet werden, Formatierer ignoriert wird. Irgendeine Idee, warum es so entworfen wird? –
Dieser Code funktioniert, aber ich bin ziemlich sicher, dass es einen Speicherverlust hat. [Um dies zu vermeiden, benutze removeRow] (https://github.com/SitePen/dgrid/blob/v0.3.15/doc/usage/Working-with-Widgets.md#destroying-rendered-widgets) – sixtyfootersdude