首页 > 解决方案 > 当数据源为数组时,kendoDropDownList 不会滚动到当前值

问题描述

我在内联编辑器kendoDropDownList中使用 a :kendoGrid

matTypeDropDownEditor: (container, options) => {
    const model = options.model;
    $('<input id="materialType" required name="' + options.field + '"/>')
        .appendTo(container)
        .kendoDropDownList({
            autoBind: false,
            dataTextField: "MaterialTypeName",
            dataValueField: "MaterialTypeID",
            //dataSource: materialTypeData,
            dataSource: {
                transport: {
                    read: {
                        url: '/materials/materialtypes/' + model.OrganisationID,
                    }
                }
            },

如果数据源是在页面加载时预先填充的数组materialTypeData = [],则在编辑行时下拉列表不会滚动到当前值。选择了正确的项目,但在单击下拉列表之前它不可见。

编辑时 点击时

如果像上面的示例一样,我更改数据源以从服务器中提取项目,它可以正常工作,但显然每次编辑一行时都需要往返服务器。

标签: kendo-uikendo-gridkendo-asp.net-mvc

解决方案


好的解决了。当数据是本地设置时autoBind: true ,文档将正确显示所选项目。

matTypeDropDownEditor: (container, options) => {
    const model = options.model;
    $('<input id="materialType" required name="' + options.field + '"/>')
        .appendTo(container)
        .kendoDropDownList({
            autoBind: true,
            dataTextField: "MaterialTypeName",
            dataValueField: "MaterialTypeID",
            dataSource: { data: materialTypeData },

推荐阅读