Extjs向模型添加列

时间:2011-08-30 20:59:21

标签: extjs

在我的extjs专栏模型中,以下是我的内容:

new Ext.grid.ColumnModel({
columns: [
{id:'msgId',hidden: false, dataIndex: 'msgId'}                  
]

现在,我希望在模型中添加另一列,该列将是一个带文本的超链接:“查看消息详细信息”,单击时应调用javascript函数fnMessageDetails('msgId')。

如何将此列添加到模型中?我可以添加没有dataIndex属性的列吗?

1 个答案:

答案 0 :(得分:2)

  

我可以添加没有dataIndex属性的列吗?

是的,如果您使用自己的渲染器或模板列,则没问题。

  

如何将此列添加到模型中?

您可以使用renderer配置或templatecolumn。例如:

new Ext.grid.ColumnModel({
  columns: [
    {id:'msgId',hidden: false, dataIndex: 'msgId'},
    {
        header: 'info',
        xtype: 'templatecolumn',
        tpl: '<a href="#">View Message Details</a>',
        listeners: {
            click: function(col, grid, row){
                fnMessageDetails(grid.store.getAt(row).get('msgId'));
                return false;
            }
        }
    } 
  ]
});

这是demo