1

我希望有多个 datatextField 列,因为我返回一个自定义列表,该列表返回包含属性名称、状态和 PID 的列表,但我不能在我的 DatatextField 上使用多个列,即名称和状态,以便我可以将它们用于我的模板属性如下图所示,

我的模板需要名称和状态列,我的 datavalueField 需要 PID

它显示状态未定义的错误

<script>
    $(document).ready(function () {
        $("#prog").kendoDropDownList({
            dataTextField: "Name",
            dataValueField: "PID",
            optionLabel: "...select programme...",
            headerTemplate: '<div class="dropdown-header">' +
                    '<span class="k-widget k-header">status</span>' +
                    '<span class="k-widget k-header">Name</span>' +
                '</div>',
            valueTemplate: '<span class="selected-value">#: Name#</span>',
            template: '<span class="k-state-default">#:  Status#</span>' +
                      '<span class="k-state-default"><h3>#: Name#</h3></span>',
            dataSource: {
                transport: {
                    read: {
                        dataType: "json",
                        url: "@Url.Action("GetProgrammesInfo", "Programme", new { ECID = ViewBag.ECID as int? })"
                    }
                }
            },
            change: function (e) {
                var value = this.value();
                alert(value);
            }
        });

        var dropdownlist = $("#prog").data("kendoDropDownList");
    });
</script>
4

1 回答 1

2

我认为要在模板中引用不是文本字段或值字段的属性,您将需要使用 data.Status。

如果我切换到那个,它似乎工作。此外,如果我将 dataTextField 切换为 Status,我会在 Name 上收到错误,如果我将 Name 更改为 data.Name,它会再次起作用。

有点工作样本... http://jsbin.com/xemef/1/edit

于 2014-04-10T12:42:47.523 回答