Я не могу редактировать вложенные jsgrids.Я получаю исключение следующим образом: «Uncaught TypeError: Невозможно прочитать свойство« Имя »из неопределенного ...» - PullRequest
0 голосов
/ 17 февраля 2019

Я пытаюсь создать вложенную сетку jsgrid. Я успешно создал вложенную сетку, но не могу отредактировать вложенную сетку.Опция редактирования включена.

Я пробовал много разных способов заполнения списка и некоторых других онлайн-ресурсов и исправлений, но мне пока не повезло.

var data = window.dt = [
    {
        "Name": "param 1",
        "Pin": "a pin",
        "Conditions": [
            { Name: "condition1", Condition: "123", Typical: "a typical", Unit: "V" },
            { Name: "condition2", Condition: "456", Typical: "a typical", Unit: "V" }
        ]
    }           
];

$("#jsGrid").jsGrid({
    width: "100%",
    height: "400",

    inserting: true,
    editing: true,
    autoload: true,

    controller: {
        loadData: function () {
            return data;
        }
    },

    fields: [
        { name: "Name", type: "text", width: 100 },
        { name: "Pin", type: "text", width: 100},
        {
            name: "Conditions", width: 350, itemTemplate: function (value, item) {
                var $nestedGrid = $("<div>");
                var $nestedGridPPial = $("<div>");

                $nestedGrid.click(function (e) {
                    e.stopPropagation();
                });
                var ii = [{"Pin" : item["Pin"]},{"Name" : item["Name"]}];
                $nestedGridPPial.jsGrid({
                    width: 350,
                    height: "auto",
                    inserting: false,
                    editing: true,
                    data: ii,
                    fields: [
                        { name: "Name", width: 200 },

                        { name: "Pin", width: 200 }
                    ],
                    rowClick: function (args) {
                        if (this.editing) {
                            this.editItem($(args.event.target).closest("tr"));
                            args.event.stopPropagation();
                        }
                    }
                });

                $nestedGrid.jsGrid({
                    width: 350,
                    height: "auto",
                    inserting: false,
                    editing: true,
                    data: item.Conditions,
                    fields: [
                        { name: "Name", width: 200 },
                        { name: "Typical", width: 100 },
                        { name: "Unit" }
                    ],
                    rowClick: function (args) {
                        if (this.editing) {
                            this.editItem($(args.event.target).closest("tr"));
                            args.event.stopPropagation();
                        }
                    }
                });
                return $nestedGridPPial.append($nestedGrid);
            }
        },
        { type: "control" }
    ]
});
...