2013-05-21 5 views
0

У меня есть панель сетки с столбцом, который, если вы нажмете на downalod, связать файл с этой строкой. В ExtJS 2 я просто определить новый рендерер, который является функцией, которые возвращают только вернуть формат строки из URL, как это:Загрузить файл в строке щелчок, в extjs4

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); 
} 

Этот синтаксис не Rigth в ExtJS4.2, потому что string.Format теперь Ext .String.format, но когда я сделал это изменение, ничего не происходит.

Я пытаюсь использовать новый actioncolumn в определении столбца таким образом:

{ 
         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); 
           } 
         }] 
       } 

но что-то не так, потому что Java-отладчик не сделал какой-либо тип ошибки. Спасибо заранее.

ответ

1

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

функции, называемого когда щелкните значок.

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

+0

спасибо, я никогда не использовал templatecolumn, но это только то, что мне нужно. – AfanfeFana

Смежные вопросы