Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/extjs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Parameters ExtJS-将外部参数传递到网格渲染器_Parameters_Extjs_Grid_Renderer - Fatal编程技术网

Parameters ExtJS-将外部参数传递到网格渲染器

Parameters ExtJS-将外部参数传递到网格渲染器,parameters,extjs,grid,renderer,Parameters,Extjs,Grid,Renderer,有没有办法将外部参数传递到网格渲染器函数中 例如,考虑 function excelRenderer(value, p,record){ return String.format('<a href="excel.jsp?view=aging&prod_type={0}&value={1}" target="_blank"><img src="images/excel.png" border="0"/></a>',record.data.pr

有没有办法将外部参数传递到网格渲染器函数中

例如,考虑

function excelRenderer(value, p,record){
  return String.format('<a href="excel.jsp?view=aging&prod_type={0}&value={1}" target="_blank"><img src="images/excel.png" border="0"/></a>',record.data.prod_type,value);
} 

function newtab(status){
//add tab
  tabs.add({ 
  ...
  items: new Ext.grid.GridPanel({
                region:'center',
                frame: true,
                title: 'testing',
                store: new Ext.data.Store({
                    ...
                }),
                columns: [
                {header: "Column 2", dataIndex: 'col2', sortable: true, renderer: excelRenderer},
                {header: "Column 1", dataIndex: 'col1', sortable: true, renderer: excelRenderer}
                ]
            }
}
函数(值、p、记录){
返回String.format(“”,record.data.prod_type,value);
} 
功能选项卡(状态){
//添加选项卡
tabs.add({
...
项目:新建Ext.grid.GridPanel({
地区:'中心',
框架:对,
标题:"测试",,
存储:新的Ext.data.store({
...
}),
栏目:[
{标题:“第2列”,数据索引:“col2”,可排序:true,呈现器:excelRenderer},
{标题:“第1列”,数据索引:“col1”,可排序:true,呈现器:excelRenderer}
]
}
}
现在,我想将外部参数
status
添加到呈现器中,以便呈现的URL如下所示

excel.jsp?视图=老化和生产类型=数据和价值=测试
&status=pending


非常感谢您的帮助。谢谢将渲染器函数定义移动到
newTab()
函数体中:

function newtab(status){
    var excelRenderer = function(value, p,record){
        return String.format('<a href="excel.jsp?view=aging&prod_type={0}&value={1}&status={2}" target="_blank"><img src="images/excel.png" border="0"/></a>',record.data.prod_type,value, status);
    } 

    //add tab
    tabs.add({ 
        ...
        items: new Ext.grid.GridPanel({
            region:'center',
            frame: true,
            title: 'testing',
            store: new Ext.data.Store({
                ...
            }),
            columns: [
                {header: "Column 2", dataIndex: 'col2', sortable: true, renderer: excelRenderer},
                {header: "Column 1", dataIndex: 'col1', sortable: true, renderer: excelRenderer}
            ]
        }
    });
}
var excelRenderer = function(v, m, r, ri, ci, s, status){
    return String.format('<a href="excel.jsp?view=aging&prod_type={0}&value={1}&status={2}" target="_blank"><img src="images/excel.png" border="0"/></a>',r.data.prod_type, v,  status);
} 

function newtab(status){
    var statusExcelRenderer = excelRenderer.createDelegate(null, [ status ], true);

    //add tab
    tabs.add({ 
        ...
        items: new Ext.grid.GridPanel({
            region:'center',
            frame: true,
            title: 'testing',
            store: new Ext.data.Store({
                ...
            }),
            columns: [
                { header: "Column 2", dataIndex: 'col2', sortable: true, renderer: statusExcelRenderer },
                { header: "Column 1", dataIndex: 'col1', sortable: true, renderer: statusExcelRenderer }
            ]
        }
    });
}