如何按数据类型

时间:2018-01-22 06:46:17

标签: kendo-ui kendo-grid

我使用kendo-grid创建了一个表格。此表格有两列。其中一列是item,另一列是value

就像

一样
+-----------+-----------+
| item      |  value    |
+-----------+-----------+
| Retry     |  yes      |
| interval  |  8        |
+-----------+-----------+

如何自定义编辑器(内联)的值为column.if值为[yes],使用下拉列表编辑器,如果值为[8],则使用数字edior。

THX。

1 个答案:

答案 0 :(得分:1)

为了您的方便,我准备了一个小例子来演示这样的kendo-grid定制。

以下示例说明如何根据列包含的值自定义列的editor选项(例如,在您的情况下为“是”):

function DropDownEditor(container, options) {

    if(options.model.itemvalue =="yes"){
        var input = $('<input required name="' + options.field + '"/>')
        input.appendTo(container);
        input.kendoDropDownList({
            dataSource: {
                data: ["yes", "no"]
            }
        });
    }
    else{
        var input = $('<input type="text" class="k-input k-textbox" name="itemvalue" data-bind="value:itemvalue">'); 
        input.appendTo(container); 
    }
};

您的网格配置可能如下所示:

var grid = $("#grid").kendoGrid({
dataSource: {
data:[{"item":"Retry", "itemvalue":"yes"},{"item":"interval", "itemvalue": 8}]
},    
height: 500,    
columns: [ 
  { field: "item", width: "200px"},
  { field: "itemvalue", editor: DropDownEditor }],
editable: "incell"
}).data("kendoGrid");

在上面的示例中,具有编辑器的列使用DropDownEditor函数根据“itemvalue”列中的值创建编辑器。

希望这有帮助。