2015-04-08 18 views

回答

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

+0

感谢您的答复。但是这个也没有包括剑桥网格:/。对于不可分割的剑道网格工作良好。你能分享JSFiddle吗?? –

+0

我已经添加了一个指向服务器端Kendo OData源的JSFiddle。如果您尝试过滤订单ID = 0,则应该得到“未找到结果”,类似地,如果添加任意数量的组,您仍应该看到该消息。 –

+0

非常感谢Brian。这工作正常。但我想要的是一个可分组的kendo网格,看起来像这样: http://docs.telerik.com/kendo-ui/web/grid/grid6_1.png 这是根据姓氏分组。 我在为这种网格添加“空文本”时遇到了问题。 :( –

相关问题