如何在可分组的kendo网格中设置空数据文本?

时间:2015-04-08 12:25:20

标签: javascript jquery kendo-ui kendo-grid

我有groupable kendo grid

每当网格为空时,请帮我设置一些自定义文本。

如果网格不可分组,我可以使用数据绑定功能来实现它。

1 个答案:

答案 0 :(得分:0)

这是我从KendoGridBinderEx改编的版本,因为我想在数据绑定上有一个函数,它不仅可以处理空的,而且还可以处理错误情况。我把它修改回来,大部分都适合你正在努力的事情。当我的数据源有错误时,我会从我传入函数本身的事件中读出它们,这就是为什么你看到'e'作为参数被引用但未被使用。

function DisplayNoResultsFound(evt) {
    var grid = evt.sender.element;
    //Only do this if you can properly find the grid
    if (grid.data("kendoGrid") == undefined) {
        return;
    }

    // Get the number of Columns in the grid
    var dataSource = grid.data("kendoGrid").dataSource;
    var colCount = grid.find('.k-grid-header colgroup > col').length;

    //Check for an empty datasource
    if (dataSource._view.length == 0) {
        //Clear the grid 
        //you may or may not need this depending on how your datasource returns
        grid.find('.k-grid-content tbody').empty();

        //Add the no result row
        grid.find('.k-grid-content tbody')
        .append('<tr class="kendo-data-row"><td colspan="' + colCount + '" style="text-align:center" class="k-state-error"><b>No Results Found</b></td></tr>');
    }

    // Get visible row count
    var rowCount = grid.find('.k-grid-content tbody tr').length;

    // If the row count is less that the page size add in the number of missing rows
    if (rowCount < dataSource._take) {
        var addRows = dataSource._take - rowCount;
        for (var i = 0; i < addRows; i++) {
            grid.find('.k-grid-content tbody').append('<tr class="kendo-data-row"><td>&nbsp;</td></tr>');
        }
    }
}

编辑:这是JSFiddle example