Kendo Jquery ForeignKey Dropdownlist 值

Posted

技术标签:

【中文标题】Kendo Jquery ForeignKey Dropdownlist 值【英文标题】:Kendo Jquery ForeignKey Dropdownlist values 【发布时间】:2021-11-18 05:54:25 【问题描述】:

我的应用程序是 MVC 5,使用 Kendo UI Jquery 可编辑网格。其中一列是下拉列表,使用:

 field: "ApplicableCourse_ID", title :"Course", values: myDDL1 

我使用下面的 Ajax 来生成 values 数组 myDDL1

$.ajax(
        url:  '@Url.Action("GetFreeAccessDropdownList", "fff")',
        type: "GET",
        async: false,
        cache: false,
        dataType: "json",
        success: function (result) 
            myDDL1.push(JSON.stringify(result.Grid1));
           var grid = $("#grid").data("kendoGrid");
            grid.refresh();
        ,
        error: function (request, status, error) 
            alert(request.responseText);
        
    );

我得到了正确的值和文本:

但是;网格显示值而不是文本。如果我使用静态数组:

var myDDL1 = [
         "value": 54, "text": "Fuel Spill Response Plan" ,
         "value": 56, "text": "Community Fuel Contractor Manual" ,
         "value": 91, "text": "Blocking and Cribbing" ];

显示正确的文本。动态数组和静态数组有区别吗?

【问题讨论】:

【参考方案1】:

在填充集合后调用网格的 refresh() 方法是不够的,因为它不会刷新模板和外键列。

有两种选择:

    直接从列进行AJAX调用,无需处理成功回调:

Remote data binding for foreign key

    将网格的autoBind property 设置为false。在自定义 AJAX 的成功回调中,调用网格数据源的fetch() method。

【讨论】:

谢谢。我尝试了选项2;没用。你能解释一下选项1吗?不幸的是,该链接没有说明如何操作。 这是解决方案的一个示例 - dojo.telerik.com/UNuXOBIn。请注意,AJAX 请求的 setTimeout() 函数仅用于确保 JS 线程已完成网格初始化,然后我们才调用 fetch() 方法。 感谢您的努力【参考方案2】:

以防万一其他人有这个问题;我使用的解决方案是在控制器中生成列表的 ViewBag:

var grid1 = db.Courses.Select(c => new
            
                value = c.ID,
                text = c.Name,
            ).ToList();
            ViewBag.Course = grid1;

在视图中

var myDDL1 = @html.Raw(Json.Encode(ViewBag.Course));

网格列

field: "ApplicableCourse_ID", filterable:  multi: true, search: true , values: myDDL1 

【讨论】:

以上是关于Kendo Jquery ForeignKey Dropdownlist 值的主要内容,如果未能解决你的问题,请参考以下文章

在 Kendo Grid 中编辑时过滤 ForeignKey 的可用值

InCell 编辑模式下的 Kendo UI ASP.Net MVC ForeignKey 列 DataSource

Kendo 向 Aurelia 确认 jQuery

如何使用 jquery 禁用 kendo ui 下拉列表?

kendo ui

带有 JQuery 验证的 Kendo DatePickerFor