我有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");
});
答案 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]);
}
我的英语不太好,希望您能得到答案。