zoukankan      html  css  js  c++  java
  • kendo ui treelist popup 模式下 实现下拉框控件形式展示

    1、在列后面增加editor和template属性,其中levelDropDownEditor是一个方法,LvDisplayName是下拉框的Text值的字段名(用于在列表里显示)

                    columns: [
                        { field: "Name", expandable: true, title: "名称",  250 },
                        { field: "Code", title: "编号" },
                        { field: "Lv", title: "级别",  "180px", editor: levelDropDownEditor, template: "#=LvDisplayName#" }
                    ]
    

    2、实现levelDropDownEditor方法,其中的DropdownlistValue,是我加上的特殊标识,用于后台的数据读取,因为后台自定了一个字段名叫:"LvDropdownlistValue"。

        function levelDropDownEditor(container, options) {
            var jqueryElement = $('<input required name="' + options.field + 'DropdownlistValue" />');
            jqueryElement
                .appendTo(container)
                .kendoDropDownList({
                    autoBind: true,
                    dataTextField: "DisplayCode",
                    dataValueField: "ParaCode",
                    dataSource: {
                        transport: {
                            read: {
                                dataType: "jsonp",
                                url: "@Url.Content("~/BaseInfoManagement/Department/GetDepartmentLevelList")",
                            }
                        }
                    },
                    value: options.model.Lv,
                    dataBound: onDataBound
                });
        }

    3、后台update方法的实现

    public JsonResult Update()
            {
                dvaContext context = new dvaContext();
                JsonResult json = new JsonResult();
                var tempObj = new Cust_department_info();
                if (ModelState.IsValid)
                {
                    string jsonData = this.Request["models"];
                    List<Cust_department_info> lst = JsonConvert.DeserializeObject<List<Cust_department_info>>(jsonData);
                    foreach (var obj in lst)
                    {
                        var objNew = context.department_info.Find(obj.ID);
                        List<department_info> children = context.department_info.Where(m => m.ParentCode == objNew.Code).ToList();
                        objNew.Name = obj.Name;
                        objNew.Code = obj.Code;
                        objNew.Lv = obj.LvDropdownlistValue.ParaCode;
                        foreach (var b in children)
                        {
                            b.ParentCode = objNew.Code;
                        }
                    }
                    context.SaveChanges();
                }
                json.Data = new { success = true, msg = "更新成功!" };
                return json;
            }
    

      

  • 相关阅读:
    AcWing 3772. 更新线路(BFS)
    AcWing 3760. 最大剩余油量(树的最长路径)
    AcWing 3771. 选取石子
    洛谷P2014—选课(树形DP)
    吴恩达机器学习ex1
    洛谷P1122—最大子树和(树形DP)
    论文中关于要使用600线的python代码
    mysql 笛卡尔积
    mysql 外键
    写参考文献有感
  • 原文地址:https://www.cnblogs.com/wjx-blog/p/9419499.html
Copyright © 2011-2022 走看看