【问题标题】:Kendo Jquery ForeignKey Dropdownlist valuesKendo Jquery ForeignKey Dropdownlist 值
【发布时间】: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" }];

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

【问题讨论】:

    标签: jquery arrays ajax asp.net-mvc kendo-grid


    【解决方案1】:

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

    有两种选择:

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

    Remote data binding for foreign key

    1. 将网格的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 
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-10-05
      • 1970-01-01
      • 1970-01-01
      • 2013-08-30
      • 1970-01-01
      • 1970-01-01
      • 2013-02-05
      相关资源
      最近更新 更多