更新slickgrid中列标题的内容

时间:2015-04-25 07:49:35

标签: angularjs slickgrid

我在支持多种语言的角度应用程序中使用slickgrid。如何更改所选语言时如何更新列标题。 我的列定义看起来像这样,我基本上想要的是再次调用myI18N来更新列标题的网格。

{ id: "myid", name: myI18nFn('idKey'), field: "myid", width: 100}

我有一个检测更改的角度事件,我可以访问那里的网格对象,我只是不确定我需要做什么让它更新列标题

1 个答案:

答案 0 :(得分:2)

您需要在语言更改时更新colDef.name属性,然后触发网格以重建标题行(在SlickGrid源中的createColumnHeaders方法中)。最简单的方法是使用setColumns调用更新列列表,这会触发整个网格的重新呈现:

function updateColumnHeaders()
{
    var cols = grid.getColumns();
    for(var i = 0, il = cols.length; i < il; i++)
    {
        cols[i].name = myI18nFn(cols[i].id);
    }
    grid.setColumns(cols);
}