0

クリックするとファイルをこの行に関連付ける列を持つグリッド パネルがあります。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);
}

String.format が Ext.String.format になったため、この構文は ExtJS4.2 では正しくありませんが、この変更を行っても何も起こりません。

次のように、列定義で新しい 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);
                                }
                        }]
                }

しかし、javascript デバッガーはエラーを発生させないため、何かがおかしいのです。前もって感謝します。

4

1 に答える 1