Вопрос

я не могу найти, как поместить ячейку с href в таблицу данных dojo toolkit, версия dojo, которую я использую, 1.6 это моя таблица

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

я получаю данные с помощью Json.

Это было полезно?

Решение

Вы можете использовать функцию форматирования для форматирования ячейки.Например, вы можете объявить объект JavaScript, который содержит все функции форматирования.

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

Затем в сетке,

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

Вам не нужно создавать объект области видимости для форматеров, тогда эти функции форматирования должны находиться в глобальной области видимости, и тогда вы можете опустить formatterScope атрибут в сетке.

Другие советы

dojo grid по умолчанию экранирует html-теги по соображениям безопасности, вы можете просто включить html-теги для этого:

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

или это, если ваша сетка добавлена программно

escapeHTMLInData: false

более подробная информация здесь:http://dojotoolkit.org/reference-guide/dojox/grid/DataGrid.html

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top