来自下拉列表的Kendo单元格值在未处于编辑模式时显示为未定义

时间:2015-12-29 12:35:35

标签: javascript kendo-ui kendo-grid

我正在研究Kendo UI网格,我实现了dropdownlist(用于编辑模式(显示弹出窗口))。当我的网格加载时,对于在编辑模式下使用下拉列表的每个单元格,始终显示“未定义”值。如果我使用添加/编辑模式插入/更新值,一切都很好。我不知道我的代码有什么问题。这是我的代码的一部分:

 columns: [{
            field: "Id",
            title: "Id",
            width: 50
        }, {
            field: "finNaturalBusinessYearId",
            title: "Poslovna godina",
            width: 70,
            template: "#= finNaturalBusinessYearId.NaturalBusinessYear #",
            editor: businessyeardropdown
        },...

下拉列表的功能:

function businessyeardropdown(container, options) {
        $('<input required data-text-field="NaturalBusinessYear" data-value-field="Id" data-bind="value:' + options.field + '"/>')
        .appendTo(container)
        .kendoDropDownList({
            autobind: false,
            dataSource: {
                transport: {
                    read:
                    {
                        url: "/api/BusinessYear",
                        type: "GET",
                        dataType: "json"
                    }
                }
            }
        });
    }

请帮忙......

2 个答案:

答案 0 :(得分:0)

因为对象 finNaturalBusinessYearId 不包含属性 NaturalBusinessYear

以下是Dojo example - 正如您所看到的,如果我使用了不存在的属性,则值显示为“未定义”但如果属性存在,则会显示值。

所以请检查,如果

  1. finNaturalBusinessYearId 是一个对象
  2. 如果是对象而不是检查是否包含属性 NaturalBusinessYear

答案 1 :(得分:0)

我想我遇到了同样的问题。 改变这个:

$('<input required data-text-field="NaturalBusinessYear" data-value-field="Id" data-bind="value:' + options.field + '"/>')

到此:

$('<input required data-text-field="finNaturalBusinessYearId" data-value-field="Id" data-bind="value:' + options.field + '"/>')

这样它匹配数据源中的字段名称