2015-04-25 89 views
2

我在支持多種語言的角度應用程序中使用slickgrid。如何更改所選語言更改時的列標題。 我的列定義看起來像這樣,我基本上想要的是網格再次調用myI18N來更新列標題。更新slickgrid中列標題的內容

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

我有一個檢測的改變角度的賽事,我有機會獲得網格對象那裏,我只是不知道我需要什麼做的,使其更新列標題

回答

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); 
}