向ExtJS5网格面板添加其他属性

向ExtJS5网格面板添加其他属性,extjs,extjs4.2,extjs5,Extjs,Extjs4.2,Extjs5,在我的一个项目中,有一个aspx网格。我必须用ExtJS5网格替换它。它具有右键单击的功能。为此,使用第三方工具。我知道我们可以在ExtJS中使用上下文菜单,但是客户端坚持使用第三方上下文菜单。它的工作原理如下: 每当创建网格时,都会向网格的每一行添加一个属性oncontextmenu=“recordID=12321”,其中12321只是一个示例。每一行都不同 我的要求是将这个属性添加到网格的每一行。我们如何在ExtJS5中实现这一点?“recordID”在商店中可用。我最简单的方法是在视图中更

在我的一个项目中,有一个aspx网格。我必须用ExtJS5网格替换它。它具有右键单击的功能。为此,使用第三方工具。我知道我们可以在ExtJS中使用上下文菜单,但是客户端坚持使用第三方上下文菜单。它的工作原理如下:

每当创建网格时,都会向网格的每一行添加一个属性oncontextmenu=“recordID=12321”,其中12321只是一个示例。每一行都不同


我的要求是将这个属性添加到网格的每一行。我们如何在ExtJS5中实现这一点?“recordID”在商店中可用。

我最简单的方法是在视图中更改
rowTpl

grid = Ext.create('Ext.grid.Panel', {
    [...],
    viewConfig: {
        rowTpl: [
            '{%',
                'var dataRowCls = values.recordIndex === -1 ? "" : " ' + Ext.baseCSSPrefix + 'grid-row";',
            '%}',
            '<tr oncontextmenu="recordID={[values.record.get(\'field1\')]}" class="{[values.rowClasses.join(" ")]} {[dataRowCls]}" {rowAttr:attributes} {ariaRowAttr}>',
                '<tpl for="columns">' +
                    '{%',
                        'parent.view.renderCell(values, parent.record, parent.recordIndex, parent.rowIndex, xindex - 1, out, parent)',
                     '%}',
                '</tpl>',
            '</tr>'
        ]
    }
});
grid=Ext.create('Ext.grid.Panel'{
[...],
视图配置:{
rowTpl:[
'{%',
“var dataRowCls=values.recordIndex===-1?”:““+Ext.baseCSSPrefix+”网格行“,
'%}',
'',
'' +
'{%',
'parent.view.renderCell(值,parent.record,parent.recordIndex,parent.rowIndex,xindex-1,out,parent)',
'%}',
'',
''
]
}
});
或者,也可以在列
渲染器
函数中的
td
上设置任何属性,但需要为每列设置该属性


工作示例:

您可以将其添加到初始查询中吗?让它从服务中为每一行加载值,然后将该项添加到您的模型中,使其默认位于您的存储中。您所说的每一行的“属性”是什么意思?你是说元素吗?其他HTML元素?行的绑定记录本身?我的存储中有该记录。它不需要绑定到任何网格列。唯一需要的是当网格被呈现时,它的行就像列内容一样。我需要的是HTML应该变成列内容,并且它应该适用于每个网格行。RecordID存在于我的模型和存储中。我只需要它包含在每一个网格行中。