Pregunta

No puedo encontrar cómo poner una celda con un href en un datagrid de kit de herramientas dojo, la versión que dojo que estoy usando es 1.6 esta es mi tabla

  <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>

Estoy obteniendo los datos con JSON.

¿Fue útil?

Solución

Puede usar la función Formatter para formatear una celda. Por ejemplo, puede declarar un objeto JavaScript que contiene toda la función de formato.

var myFormatters = {
   formatLink : function(value, index) {
        return "<a href='#'>" + value + "</a>";
   }
};

Luego en la cuadrícula,

<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>

No necesita crear un objeto de alcance para los formatúas, entonces estas funciones de formato deberían estar en el alcance global y luego puede omitir el formatterScope atributo en la cuadrícula.

Otros consejos

Dojo Grid está escapando de las etiquetas HTML de forma predeterminada por razones de seguridad, simplemente puede habilitar las etiquetas HTML haciendo esto:

<table dojoType="dojox.grid.DataGrid" escapeHTMLInData="false" ...>

o esto si su cuadrícula se agrega programáticamente

escapeHTMLInData: false

Más información aquí:http://dojotoolkit.org/reference-guide/dojox/grid/datagrid.html

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top