当不处于编辑模式时,下拉列表中的Kendo单元格值显示为未定义

Kendo cell values from dropdownlist shows as undefined when not in edit mode

本文关键字:Kendo 下拉列表 单元格 未定义 显示 于编辑 模式 编辑      更新时间:2023-09-26

我正在Kendo UI网格上工作,我实现了dropdownlist(用于编辑模式(显示弹出))。当我的网格被加载时,总是为在编辑模式下使用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"
                    }
                }
            }
        });
    }

请帮忙。。。

这是因为对象finNaturalBusinessYearId不包含属性NaturalBusinessYear

这里是Dojo示例-正如您所看到的,如果我使用了不存在的属性,则值显示为"未定义",但如果属性存在,则显示值。

所以请检查,如果

  1. finNaturalBusinessYearId是一个对象
  2. 如果它是对象,则检查是否包含属性NaturalBusinessYear

我想我也遇到了同样的问题。更改此项:

$('<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 + '"/>')

这样它就与数据源中的字段名相匹配