Kendo.Combobox即使显示在html中也不会显示其选项

时间:2019-05-20 17:19:31

标签: jquery asp.net-mvc datasource kendo-combobox

我正在使用Ajax填充Kendo.Combobox

function Edit(e) {

    $.ajax({   
        url: "/TicketReportProperty/PopulateReportProperty",
        type: "GET",
        contentType: "application/json; charset=utf-8",
        datatype: "json",
        data: {'reportId' : @Html.Raw(Model.ReportID)},
        success: function (data)
        {
            if (data != '') {
                $(data.Data).each(function () {
                    console.log(this.PropertyName + " " + this.ReportGroup);
                    $("#ReportPropertyCB").append($("<option></option>").html(this.PropertyName));
                });                   
            }
        }   
  });  
}

组合框位于EditorTemplate中定义的Kendo.Grid()内部:

co.Bound(c => c.PropertyName).Title("Property Name").EditorTemplateName("_PropertyNameEditor");

这是Kendo().ComboBox

@(Html.Kendo().ComboBox()
    .Name("ReportProperty")
    .DataTextField("PropertyName")
    .DataValueField("ReportPropertyID")
    .HtmlAttributes(new { id = "ReportPropertyCB" })
)

在Ajax成功之后,我检查了HTML代码并找到了其中的选项:

enter image description here

但是,它们不会显示在组合框内。

我在这里想念什么?

1 个答案:

答案 0 :(得分:0)

我通过不同方式定义数据源解决了这个问题:

$("#ReportPropertyCB").data("kendoComboBox").dataSource.data(data.data);

那个逻辑做到了