【问题标题】:How to set columns header dynamically in wijmo grid?如何在 wijmo 网格中动态设置列标题?
【发布时间】:2015-09-13 17:24:34
【问题描述】:

我有一个 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>

【问题讨论】:

  • 我可以在绑定网格后,替换列标题,然后刷新网格。但是有没有办法绑定动态列标题。
  • 因此,列标题不作为独立集合存在,也不支持双向绑定,因此您无法在初始化网格时动态设置它们。唯一可能的解决方法是手动创建完整的列集合,包括 dataKey 属性、可见属性等,然后将此集合设置为 columns 属性而不是 headerText 属性。

标签: knockout.js wijmo wijgrid


【解决方案1】:

您可以像这样设置动态列的标题:
grid.columns[1].header = 'header-name';

【讨论】:

    【解决方案2】:

    因此,列标题不作为独立集合存在,也不支持双向绑定,因此您无法在初始化网格时动态设置它们。唯一可能的解决方法是手动创建完整的列集合,包括 dataKey 属性、可见属性等,然后将此集合设置为 columns 属性而不是 headerText 属性

    【讨论】:

      猜你喜欢
      • 2015-09-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-02-23
      • 2015-07-05
      相关资源
      最近更新 更多