如何在Kendo网格中获取选中的复选框?

时间:2019-07-03 20:20:39

标签: asp.net-mvc checkbox kendo-grid

我有Kendogrid网格,我通过JSON获得了我拥有的URL的数据,并在找到kendo网格文档时激活了选择模式,但是我试图从kendo网格中获取选定的数据,请尝试使用javascript中的一些方法但还没有做到。如果有人可以帮助我?

$(document).ready(function () {
    $("#grid").kendoGrid({
        toolbar: ["excel"],
        excel: {
            fileName: "user.xlsx",
            filterable: true
        },
        dataSource: {
            transport: {
                read: {
                    url: `/user`
                }
            },
            schema: {
                data: function (response) {
                    return response.permisos;
                },
                model: {
                    fields: {
                        id: { type: "number" },
                        nombre: { type: "string" },
                        descripcion: { type: "string" }
                    }
                }
            },
            pageSize: 20
        },
        height: 550,
        scrollable: false,
        sortable: true,
        filterable: true,
        pageable: true,
        persistSelection: true,
        change: onChange,
        columns: [
            { selectable: true, width: "50px" },
            { field: "id", title: "Id" },
            { field: "nombre", title: "Nombre" },
            { field: "descripcion", title: "Descripción" }
        ]
    });
    $("#grid").data("kendoGrid").wrapper.find(".k-grid-header-wrap").off("scroll.kendoGrid");
});

1 个答案:

答案 0 :(得分:0)

我发现了两种解决方案,第一种是激活arr=[{ EmpCode: 'A102', Name: 'James' }, { EmpCode:'A106', Name:'Mary' }, { EmpCode:'A112', Name:'Bob' }]; var len=arr.length; for(var i=0;i<len;i++) { var obj=arr[i]; var empcode="<div class='all' id='id1'>"+obj.EmpCode+"</div>"; var name="<div class='all' id='id2'>"+obj.Name+"</div>"; var Edit="<button class='all' id='id8' onclick='edit()'>"+"Edit"+"</button>"; var row="<div>"+empcode+name+Edit+"</div>"; var element=document.createElement('div'); element.innerHTML=row; document.body.appendChild(element); } ,每次选择时,一个都可以获取选定的复选框。我正在做的是检查复选框并将其保存在列表中

change: onchange

另一种方式是您添加了一个按钮,该按钮可以激活事件以使其通过网格以获取复选框,这对我来说是最好的

    function onchange(e) {
        var permiso = [];

        var numero = 0;
        var rows = e.sender.select();
        rows.each(function (e) {
            var grid = $("#grid").data("kendogrid");
            var dataitem = grid.dataitem(this);
            var recibir = dataitem;
            console.log(dataitem);
            console.log("dato recibido" + recibir.id);
            permiso.push(recibir.id);

        })
        console.log("largo: " + permiso.length);

        for (var i = 0; i < permiso.length; i++) {
            console.log("array: " + permiso[i]);
        }

我的英语不太好,希望您能得到答案。