установите древовидную структуру отмеченной true при редактировании сетки и загрузите древовидную структуру - PullRequest
0 голосов
/ 26 апреля 2019

У меня есть сетка кендо, и когда я нажимаю кнопку редактирования, в какой строке я хочу показать модальную форму с древовидной структурой. Проблема в том, что я не могу установить флажки древовидной структуры из массива, чтобы показать для редактирования. это мой код JQuery:

$("#grids").delegate(".EditButton", "click", function (e) {

            var grid = $("#grids").data("kendoGrid");
            var myVar = grid.dataItem($(this).closest("tr"));
            $('#eRoleCode').val(myVar.RoleCode);
            $('#eRoleName').val(myVar.RoleName);
            $('#eDescription').val(myVar.Description);
            var OperationData = myVar.OperationId;
            var temp = myVar.IsActive
            if (temp === true) {
                //$("input[name=esquared-radios][value='eMenGender']").prop("checked", 'checked');
                $('input[name=esquared-radios][id=eactive]').prop('checked', 'checked');
            }
            else {
                //$("input[name=esquared-radios][value='eWMenGender']").prop("checked", 'checked');
                $('input[name=esquared-radios][id=edisActive]').prop('checked', 'checked');
            }

            var edataSources = new kendo.data.HierarchicalDataSource({
                transport: {
                    read: {
                        url: "/Role/LoadEditTreeView?applicationId=@ViewBag.AppIdFromAPP",
                        dataType: "json"
                    }
                },
                schema: {
                    model: {
                        children: "items",
                        hasChildren: "hasChildren",
                        expanded: true,
                        id: "id"
                    }
                }
            });
            $("#etreeview").kendoTreeView({
                autoScroll: true,
                checkboxes: {
                    checkChildren: true
                },
                check: eonCheck,
                dataSource: edataSources,
                loadOnDemand: false
            });

            var selectedDataeOP = []
            selectedDataeOP = OperationData.split(',');
            var dataItems = $("#etreeview").data("kendoTreeView").dataItems();

            setTreeViewValues(dataItems);

            function setTreeViewValues(dataItems) {
                dataItems.forEach(function (dataItem) {
                    selectedDataeOP.forEach(function (value) {
                        if (value.indexOf(dataItem.id) > -1) {
                            dataItem.set("checked", true);
                        }
                        if (dataItem.hasChildren) {
                            // checking child dataItems recursively
                            setTreeViewValues(dataItem.children.data());
                        }
                    });
                });
            }

            function echeckedNodeIds(nodes, checkedNodes) {
                for (var i = 0; i < nodes.length; i++) {
                    if (nodes[i].checked) {
                        checkedNodes.push(nodes[i].id);
                    }

                    if (nodes[i].hasChildren) {
                        checkedNodeIds(nodes[i].children.view(), checkedNodes);
                    }
                }
            }

            // show checked node IDs on datasource change
            function eonCheck() {
                var echeckedNodes = [],
                    etreeView = $("#etreeview").data("kendoTreeView"),
                    message;

                checkedNodeIds(etreeView.dataSource.view(), echeckedNodes);

                if (echeckedNodes.length > 0) {
                    message = "IDs of checked nodes: " + echeckedNodes.join(",");
                } else {
                    message = "No nodes checked.";
                }

                $("#result").html(message);
            }

            $("#responsiveEditModal").modal();
        });

dataitems всегда пусто, и я не могу установить true проверено. что я должен делать для установленного значения true, когда у меня есть модальная форма для редактирования.

...