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.

Était-ce utile?

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

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top