href Zelle in einem raster Dojo
-
26-10-2019 - |
Frage
ich kann nicht finden, wie setzen Sie eine Zelle mit einem "href" - im dojo-toolkit-datagrid, die version od dojo, das verwende, ist 1.6 dies ist meine Tabelle
<table id="billsGrid" dojoType="dojox.grid.DataGrid" data-dojo-props="escapeHTMLInData:false">
<thead>
<tr>
<th field="name" width="auto">name</th>
<th field="description" width="auto">Description</th>
<th field="activity" width="auto">activity</th>
</tr>
</thead>
</table>
erhalte die Daten mit Json.
Lösung
Sie können formatter Funktion zum formatieren einer Zelle.Für Beispiel, Sie können erklären, ein JavaScript-Objekt, das enthält alle die formatieren-Funktion.
var myFormatters = {
formatLink : function(value, index) {
return "<a href='#'>" + value + "</a>";
}
};
Dann in das raster,
<table id="billsGrid" dojoType="dojox.grid.DataGrid" data-dojo-props="escapeHTMLInData:false" formatterScope="myFormatters" >
<thead>
<tr>
<th formatter="formatLink" field="name" width="auto">name</th>
<th field="description" width="auto">Description</th>
<th field="activity" width="auto">activity</th>
</tr>
</thead>
</table>
Sie müssen nicht erstellen ein scope-Objekt für den Formatierer, dann wird diese Formatierung Funktionen im globalen Bereich und dann kann man auch weglassen formatterScope
Attribut im Netz.
Andere Tipps
dojo grid entkommen ist html-tags aus Sicherheitsgründen standardmäßig, Sie können einfach die html-tags, dies zu tun:
<table dojoType="dojox.grid.DataGrid" escapeHTMLInData="false" ...>
oder, wenn Ihre raster Hinzugefügt wird programmgesteuert
escapeHTMLInData: false
mehr Infos hier:http://dojotoolkit.org/reference-guide/dojox/grid/DataGrid.html