Как динамически установить заголовок столбца в сетке wijmo?

У меня есть сетка wijmo, которая устанавливает заголовок столбца так же, как ключ данных. Я хотел бы установить заголовок столбца, отличный от того, как отображается ключ данных. Но мои данные возвращают разное количество столбцов. Я пробовал со следующим подходом, но он не работает.

JS

 var columnList = ['a','b','c','d'];
 setColumnHeaders(columnList);// this a call from a different VM

 self.setColumnHeaders = function (columnList) {
   $.each(columnList, function (index) {
     self.columnsHeader.push(columnList[index]);                   
   });

 ko.applyBindings(viewModel, $(".container")[0]);  

HTML

 <table id="grid" data-bind="wijgrid: {
            data: data ,                
            columnsAutogenerationMode: false,                
            columns: [{headerText: columnsHeader}],
           "></table>

person user2904389    schedule 26.06.2015    source источник
comment
Я могу сделать это после привязки сетки, замены заголовка столбца и последующего обновления сетки. Но есть ли способ связать с заголовком динамического столбца.   -  person user2904389    schedule 26.06.2015
comment
Таким образом, заголовки столбцов не существуют как независимая коллекция и не поддерживают двустороннюю привязку, поэтому вы не можете устанавливать их динамически при инициализации сетки. Единственный возможный обходной путь — создать полную коллекцию столбцов вручную, включая свойство dataKey, свойство visible и т. д., а затем установить для этой коллекции свойство columns вместо свойства headerText.   -  person Ashish    schedule 29.06.2015


Ответы (2)


Таким образом, заголовки столбцов не существуют как независимая коллекция и не поддерживают двустороннюю привязку, поэтому вы не можете устанавливать их динамически при инициализации сетки. Единственный возможный обходной путь — создать полную коллекцию столбцов вручную, включая свойство dataKey, свойство visible и т. д., а затем установить эту коллекцию в свойство columns вместо свойства headerText.

person Ashish    schedule 15.07.2015

Вы можете установить динамический заголовок столбца следующим образом:
grid.columns[1].header = 'header-name';

person Duong Chu    schedule 07.05.2018