簡體   English   中英

如何動態添加列模板kendo ui網格列

[英]How to dynamically add a column template kendo ui grid column

我需要根據用戶輸入將模板動態添加到kendo ui網格列。

創建網格后,可以將模板添加到網格列嗎?

是的,但是您必須等待用戶輸入渲染網格或者每次用戶輸入更改時都銷毀並重建網格。 是一個工作示例。 在“名稱模板”文本框中輸入類似<i>#=name#</i>的字符串,您將看到如何影響模板。 提出合適的模板。

HTML

<body>
  <div id="choices">
    <label>Name Template</label>
    <input type="text" data-bind="value: nameTemplate"/>
    <label>Age Template</label>
    <input type="text" data-bind="value: ageTemplate"/>
    <button type="button" data-bind="click: buildGrid">Build Grid</button>
  </div>
  <hr/>
  <div id="grid"></div>
</body>

腳本

$(function() {
  var grid = {};

  var columns = [
    { field: 'name' },
    { field: 'age' }
  ];

  var vm = kendo.observable({
    nameTemplate: '',
    ageTemplate: '',
    buildGrid: buildGrid
  });

  function buildGrid() {    
    if (vm.nameTemplate !== '') {
      columns[0].template = vm.nameTemplate;
    }

    if (vm.ageTemplate !== '') {
      columns[1].template = vm.ageTemplate;
    }

    grid = $('#grid').kendoGrid({
      columns: columns,
      dataSource: [
        { name: 'Jacob', age: 42 }, 
        { name: 'Cindy', age: 28 }
      ]
    }).data('kendoGrid');
  }

  kendo.bind('#choices', vm);
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM