2015-04-25 6 views
2

Я использую slickgrid в угловом приложении, которое поддерживает несколько языков. Как обновить заголовки столбцов при изменении выбранного языка. Определение моего столбца выглядит так, и в основном я хочу, чтобы сетка снова вызывала myI18N, чтобы обновить заголовок столбца.Обновление содержимого заголовка столбца в slickgrid

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

У меня есть угловое событие, которое обнаруживает изменения и у меня есть доступ к объекту сетки там, я просто не знаю, на что мне нужно сделать, сделать это обновление заголовка столбца

ответ

2

вам необходимо обновить colDef.name, когда язык изменяется, а затем вызывает сетку, чтобы перестроить строку заголовка (которая встречается в методе createColumnHeaders в источнике SlickGrid). Самый простой способ - просто обновить список столбцов с помощью вызова 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); 
}