Скачать файл по щелчку строки, в extjs4

у меня есть панель сетки со столбцом, который, если вы нажмете, вы загрузите файл, связанный с этой строкой. В 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 не делает никаких ошибок. Заранее спасибо.


person AfanfeFana    schedule 21.05.2013    source источник


Ответы (1)


Свойство handler для actioncolumn (ведьма отображает значок или серию значков в ячейке сетки и предлагает обработчик кликов с ограниченной областью действия для каждого значка) задокументировано как:

Функция, вызываемая при нажатии на значок.

Рассмотрите возможность использования templatecolumn (ведьма вместо этого визуализирует значение, обрабатывая данные модели с помощью настроенного шаблона XTemplate) и передавая ему свойство tpl.

person CD..    schedule 21.05.2013