2016-04-08 49 views

回答

2

在你列定义添加一个属性是这样的:

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

然后网格初始化后做: $( “#下拉列表”)kendoDropDownList({。 ... init参数...});

UPDATE:去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); 
    } 
    }); 

+1

请你能提供一个工作的例子。 – bagya

+1

也许这[链接](http://dojo.telerik.com/@rkonstantinov/afOxa)可以帮助你。第一个标题中有下拉菜单。 (它具有过滤功能,但如果不需要,可以将其删除) – Ademar

+0

感谢Ademar。自从我把它放在一起以后,我也加入了自己的例子。它在JSFiddle中不起作用,不知道为什么,所以我不会发布一个链接,但转到dojo.telerik.com并粘贴下面的代码。它添加一个下拉列表并更改列中的所有值(替换为您需要的任何功能): – Leon

相关问题