我已将内联编辑和可编辑列显示为下拉列表。当我选择任何项目然后进行排序时,我将[object Object]作为单元格的值。截至目前,我已编写代码将其删除,如下所示。
dataBound: function(e) {
if(e.sender != null) {
var container = e.sender;
var rows = container.tbody[0].childNodes;
$.each(rows, function (i, val) {
var cols = rows[i].childNodes;
$.each(cols, function (k, value) {
if(cols[k].innerText == "[object Object]")
cols[k].innerText = "";
});
});
}
}
有人有更好的解决方案吗?
答案 0 :(得分:0)
我通过在click事件上调用grid header解决了这个问题,并在其中检查该列是否可排序,如果是,则调用grid的cancelChanges()方法。
$(function () {
var gr = $('#grid').data().kendoGrid;
gr.thead.on('click', function (e) {
if((e.target && e.target.href) || (e.target.cellIndex && gr.columns[e.target.cellIndex].sortable))
gr.cancelChanges();
});
});
此外,将可排序属性添加到网格中的字段,如下所示,甚至sortable = true是默认值。
columns: [
"ProductName",
{ field: "UnitPrice", title: "Unit Price", sortable:true, format: "{0:c}", width: "100px" },
{ field: "UnitsInStock", title:"Units In Stock", sortable:true, width: "100px" },
{ field: "Discontinued", sortable:false, width: "100px" },
{ command: ["edit", "destroy"], title: " ", sortable:false, width: "172px" }]