【问题标题】:How to create custom dropdownlist in kendo grid header column?如何在剑道网格标题列中创建自定义下拉列表?
【发布时间】:2016-04-08 16:41:24
【问题描述】:

实际上我的要求是想在剑道网格的列标题中创建自定义下拉列表。我不喜欢使用过滤器列。我只想在标题中添加正常的下拉菜单。请提供任何这样的例子,以便我可以继续我的任务。

提前谢谢...

【问题讨论】:

    标签: javascript jquery asp.net kendo-ui kendo-grid


    【解决方案1】:

    在您的列定义中添加如下属性:

    headerTemplate: '<input id="dropdown" />'
    

    然后在您的网格初始化之后: $("#dropdown").kendoDropDownList({...init 参数...});

    更新:访问 dojo.telerik.com 并粘贴以下代码:

    <div id="grid"></div>
    <script>
    $("#grid").kendoGrid({
      columns: [
        { 
          field: "ProductName", 
          title: "Product Name",
          headerTemplate: '<input id="dropdown" />'
        },
        { field: "UnitPrice", title: "Price", template: 'Price: #: kendo.format("{0:c}", UnitPrice)#' }
      ],
      pageable: true,
      dataSource: {
        transport: {
          read: {
            url: "http://demos.telerik.com/kendo-ui/service/products",
            dataType: "jsonp"
          }
        },
        pageSize: 10
      },
      excelExport: function(e) {
        var sheet = e.workbook.sheets[0];
        var template = kendo.template(this.columns[1].template);
    
        for (var i = 1; i < sheet.rows.length; i++) {
          var row = sheet.rows[i];
    
          var dataItem = {
             UnitPrice: row.cells[1].value
          };
    
          row.cells[1].value = template(dataItem);
        }
      }
    });
    
      $("#dropdown").kendoDropDownList({
        optionLabel: 'Choose a value...',
        dataTextField: 'description',
        dataValueField: 'id',
        dataSource:{
           data: [{id: 1, description: 'One'},{id: 2, description: 'Two'}]
        },
        change: function(e){
          //do whatever you need here, for example:
          var theGrid = $("#grid").getKendoGrid();
          var theData = theGrid.dataSource.data();
          $(theData).each(function(index,item){
            item.ProductName = e.sender.text();
          });
          theGrid.dataSource.data(theData);
        }
      });
    

    【讨论】:

    • 也许这个link 可以帮助你。第一个标题中有下拉菜单。 (它具有过滤功能,但如果不需要,可以将其删除)
    • 谢谢阿德马尔。我也添加了我自己的例子,因为我已经把它放在一起了。它在 JSFiddle 中不起作用,不知道为什么,所以我不会发布指向它的链接,而是转到 dojo.telerik.com 并粘贴以下代码。它添加了一个下拉列表并更改列中的所有值(替换为您需要的任何功能):
    猜你喜欢
    • 1970-01-01
    • 2017-08-30
    • 2014-08-07
    • 2014-10-21
    • 1970-01-01
    • 2014-06-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多