у меня есть панель сетки со столбцом, который, если вы нажмете, вы загрузите файл, связанный с этой строкой. В extjs 2 я просто определяю новый рендерер, который представляет собой функцию, которая возвращает только строковый формат URL-адреса, например:
function DownaloadFile(value, metadata, record, rowIndex, colIndex, store)
if (record.data.id){
return String.format('<b><a href="<c:url value='/fileDownload.action?id={0}'/>" title="<fmt:message key='button.table.file.download.tooltip'/>"><img src="<c:url value="/icons/icon_download.gif"/>"/></a></b>',record.data.id);
}
Этот синтаксис неверен в ExtJS4.2, потому что String.format теперь Ext.String.format, но когда я сделал это изменение, ничего не произошло.
Я пытаюсь использовать новый столбец действий в определении столбца следующим образом:
{
xtype:'actioncolumn',
text: "download",
width:80,
items: [{
sortable: false,
align:'center',
iconCls: 'download_icon',
hrefTarget: '_blank',
handler: function(grid, rowIndex, colIndex) {
var rec = reportPanel.getStore().getAt(rowIndex);
return Ext.String.format('<b><a href="<c:url value='/fileDownload.action?id={0}'/>" title="download.tooltip"></a></b>',rec.id);
}
}]
}
но что-то не так, потому что отладчик javascript не делает никаких ошибок. Заранее спасибо.