4 Stimmen

Schaltfläche "Neuen Datensatz hinzufügen" funktioniert nicht im kendo Hierarchical Grid

Ich versuche, eine neue Zeile zum Detailraster des kendo-hierarchischen Rasters hinzuzufügen, aber die Schaltfläche Neuen Datensatz hinzufügen funktioniert nicht. Wenn ich jedoch die Filteroption in der Detailrast-Definition weglasse, funktioniert die Schaltfläche, aber ohne Filterung kann ich die Kindzeilen nicht entsprechend der Masterzeile trennen.

Ich füge ein Bild hinzu, um das Problem zu beschreiben. Bildbeschreibung hier eingeben

Hier ist mein Code für das hierarchische Raster:

 var element = $("#grid").kendoGrid({
            dataSource: {
                type: "JSON",
                transport: {
                    read: {
                        url: "/Home/Read",
                        type: "GET"
                    }
                },
                pageSize: 6

            },
            height: 700,
            sortable: true,
            pageable: true,
            selectable: 'row',
            navigatable: true,
            editable: true,
            toolbar: ["create", "save", "cancel"],
            batch: true,
            detailInit: detailInit,
            dataBound: function () {
                this.expandRow(this.tbody.find("tr.k-master-row").first());
            },
            columns: [
                {
                    field: "EmployeeID",
                    title: "Mitarbeiter-ID",
                    width: "50px"
                },
                {
                    field: "EmployeeName",
                    title: "Mitarbeitername",
                    width: "50px"
                }

            ]
        });

        function detailInit(e) {
            $('').appendTo(e.detailCell).kendoGrid({
                dataSource: {
                    type: "JSON",
                    transport: {
                        read: {
                            url: "/Home/Details",
                            type: "POST"
                        }
                    },

                    pageSize: 5,
                    filter: { field: "EmployeeID", operator: "eq", value: e.data.EmployeeID }
                },
                scrollable: false,
                dataBound: function () {
                    this.expandRow(this.tbody.find("tr.k-master-row").first());
                },
                //sortable: true,
                pageable: true,
                selectable: 'row',
                editable: true,
                toolbar: ["create"],
                editable: true,
                batch: true,
                columns: [
                    { field: "Department", title: "Abteilung", width: "30px" },
                    { field: "Designation", title: "Bezeichnung", width: "30px" }

                ]
            });

Bitte helfen Sie mir, das zu klären. Vielen Dank im Voraus.

0voto

Mateen Punkte 1614

Ich gebe einen einfacheren Vorschlag: Holen Sie sich den HTML-Code der Zeile, die Sie anhängen möchten, aus der vorherigen Zeile wie unten gezeigt

'var row = $("vorheriger Zeilen-Selektor"). html ();'

fügen Sie dann diese Zeile der Tabelle hinzu

$("Tabelle"). append (row);

Ändern Sie dann die ID, wenn Sie eine haben

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X