Saya memiliki kisi Kendo tempat saya mencoba menambahkan fitur hapus. Sumber data saya terlihat seperti:

var datasource = new kendo.data.DataSource({
    transport: {
        read: {
            url: Router.action("Admin", "GetScansForMailItem", { mailItemIdnt: detailinit.data.MailItemIdnt }),
            dataType: "json"
        },
        destroy: {
            url: Router.action("Admin", "DeleteScan"),
            type: "post"
        }
    },
    model: {
        id: "ScanIdnt",
        fields: {
            ScanIdnt: {editable: false, nullable: false}
        }
    },
    pageSize: 5
});

Saya menambahkan bagian model karena jawaban ini, namun tidak ada bedanya.

Grid yang sebenarnya terlihat seperti:

 .kendoGrid({
     dataSource: datasource
     scrollable: false,
     sortable: true,
     pageable: true,
     editable: "inline",
     columns: [{
         field: "ScanIdnt",
         title: "Scan ID"
     }, {
         field: "CreatedDate",
         title: "Created",
         template: "#= kendo.parseDate(CreatedDate, 'yyyy/MM/dd') #"
     }, {
         field: "ScanDocumentRelativePath",
         title: "File Path",
         template: "<a href='/CAMP/Admin/Download?scanIdnt=#= ScanIdnt #'>#= ScanDocumentRelativePath.substring(1) #</a>"
     }, {
         field: "ScanUserIdnt",
         title: "Scanned By"
     },{
         command: "destroy",
         title: ""
     }]
 });

Anehnya, mengklik tombol hapus menghapus dari gird pada UI, tetapi sama sekali tidak ada panggilan Ajax yang dibuat ke URL destroy. Sepertinya saya tidak tahu mengapa. Ada ide?

EDIT Saya ingin menunjukkan bahwa kisi ini sebenarnya adalah kisi bersarang di dalam kisi lain (seperti di sini) Saya menemukan bahwa pegangan kisi induk sebenarnya membuat panggilan, tetapi ke fungsi yang salah. Untuk beberapa alasan, mengklik hapus pada item level memanggil fungsi baca dari kisi bersarang, namun, kisi bersarang tidak melakukan apa-apa

0
an earwig 10 Januari 2018, 20:19

1 menjawab

Jawaban Terbaik

Menemukannya (agak). Sementara saya pikir ada banyak masalah dengan kode dan grid saya, Tampaknya ketika sampai pada itu, Kendo tidak suka bagaimana saya memiliki data saya.

Dalam dokumen Kendo yang terkait dengan kisi hierarkis, data untuk kisi anak disimpan di bidang data untuk induknya. Misalnya diberikan JSON berikut:

"ParentItems": [ 
    {
        "Id": 12345 ,
        "Name": "Test1",
        "ChildItems": [
            {"Id": 1, "Name": "Test"},
            {"Id": 2, "Name": "Test"}
        ]
    },
    {
        "Id": 12346 ,
        "Name": "Test2",
        "ChildItems": [
            {"Id": 1, "Name": "Test"},
            {"Id": 2, "Name": "Test"}
        ]
    }
]

Di kisi induk, setiap ParentItem akan menampilkan ChildItems masing-masing di kisi anak.

Di sisi lain, saya menarik kedua set data secara terpisah. Pada dasarnya, saya menarik ParentItem seperti:

"ParentItems": [
    {
        "Id": 12345,
        "Name" : "Test1"
    },
    {
        "Id": 12346,
        "Name" : "Test2"
    }
]

Dan kemudian membuat permintaan kedua untuk menarik item anak, berdasarkan id orang tua.

"ChildItems": [
    {"Id": 1, "Name": "Test", "ParentId": "12345"},
    {"Id": 2, "Name": "Test", "ParentId": "12345"}
]

Saya dapat memodifikasi kode sisi server untuk menyajikan data seperti pada contoh pertama dan berhasil membuat semuanya berfungsi. Dokumen khusus yang membantu saya dapat ditemukan di sini

1
an earwig 11 Januari 2018, 17:33