href cellule dans une grille de données Dojo
-
26-10-2019 - |
Question
je ne peux pas trouver comment mettre une cellule avec un href dans une boîte à outils dojo DataGrid, la version od dojo que je utilise est 1.6 ceci est ma table
<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>
am obtenir les données JSON.
La solution
Vous pouvez utiliser la fonction de mise en forme pour formater une cellule. Par exemple, vous pouvez déclarer un objet JavaScript qui contient toute la fonction mise en forme.
var myFormatters = {
formatLink : function(value, index) {
return "<a href='#'>" + value + "</a>";
}
};
Ensuite, dans la grille,
<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>
Vous n'avez pas besoin de créer un objet de portée pour les formatteurs, alors cette fonction de mise en forme devrait être dans la portée globale et vous pouvez omettre l'attribut formatterScope
dans la grille.
Autres conseils
dojo grille échappe des balises HTML par défaut pour des raisons de sécurité, vous pouvez simplement activer les balises HTML faisant ceci:
<table dojoType="dojox.grid.DataGrid" escapeHTMLInData="false" ...>
ou cette option si votre grille est ajouté programatically
escapeHTMLInData: false
plus d'infos ici: http://dojotoolkit.org/reference-guide/dojox/grid/DataGrid.html