ячейка href в Dojo таблицы данных
-
26-10-2019 - |
Вопрос
я не могу найти, как поместить ячейку с 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