Frage

Wer weiß einen Weg, eine eigene Zelle Foren dojox.grid.DataGrid zu schaffen? Ich könnte natürlich die get und Formatierer Eigenschaften des Layouts verwenden, aber das ist nicht wirklich wiederverwendbare Lösung!

Vielen Dank für Ihre Eingabe!

heinrich

War es hilfreich?

Lösung

Sie können eine indirekte Art und Weise versuchen, einen Dojo-Widget zu einer Rasterzelle hinzuzufügen

1) Satz escapeHTMLInData zu false für die dojox.grid.DataGrid

2) Dann in der get / Formatierer Funktion versuchen so etwas wie

function formatterFn() {
    var buttonToReturn = dijit.form.Button({
        /* Button attributes */
    }
    var div = document.createElement("div");
    div.appendChild(buttonToReturn.domNode);
    return div.innerHTML;
    // You can leave the div orphan
}

Sie können bedingt verschiedene Widgets zurückkehren Ihre Bedürfnisse anpassen

Hope, es hilft!

Andere Tipps

Was meinst du mit benutzerdefinierter Zelle?

Möchten Sie das Kontrollkästchen oder Textfeld anstelle von Text verwenden? oder

Haben Sie Bilder anstelle von Text angezeigt werden soll?

Im ersten Fall

  • Geben 'editierbare' = "true"
  • set 'singleClickEdit' = "true" und
  • set Zelltyp variabel. Sie können die Standard-Editor-Klasse erweitern und Ihre eigene Editor Klasse.

Im zweiten Fall können Sie die Formatierungsfunktion verwenden.

Es ist besser, die vorhandenen Funktionen und Klassen zu verwenden. Die Ausweitung wird das Raster langsamer machen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top