我在支持多种语言的角度应用程序中使用slickgrid。如何更改所选语言时如何更新列标题。 我的列定义看起来像这样,我基本上想要的是再次调用myI18N来更新列标题的网格。
{ id: "myid", name: myI18nFn('idKey'), field: "myid", width: 100}
我有一个检测更改的角度事件,我可以访问那里的网格对象,我只是不确定我需要做什么让它更新列标题
答案 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);
}