Вы можете использовать formatter
в сетке Dojo для форматирования HTML, отображаемого в каждой ячейке. При создании сетки вы можете установить formatter
для каждого столбца. formatter
- это функция JavaScript, которая принимает два параметра, первый value
означает значение ячейки, второй rowIndex
означает индекс текущей строки. Возвращаемым значением функции formatter
является содержимое HTML, отображаемое в ячейке.
В вашем случае я бы предложил использовать один столбец как для URL ссылки, так и для текста привязки. Вы можете использовать простую кодировку, например http://www.google.com$$$Clicky
, где $$$
используется для разделения этих двух полей. Код PHP будет:
$link = "http://www.google.com$$$Clicky";
Тогда в вашей функции formatter
вы можете использовать:
function(value, rowIndex) {
var parts = value.split('$$$');
return "<a href='" + parts[0] + "'>" + parts[1] + "</a>";
}
Если вы предпочитаете использовать один столбец для каждого поля, например, url
для URL и anchorText
для текста привязки. Затем вам нужно получить значение другого столбца при форматировании ячейки. Предположим, что сетка использует поле url
. Тогда функция formatter
может выглядеть следующим образом:
function(value, rowIndex) {
var item = grid.getItem(rowIndex); // Get the store item by index, need the reference of the grid.
var anchorText = grid.store.getValue(item, 'anchorText');
return "<a href='" + value + "'>" + anchorText + "</a>";
}