No results found grid

This yields a no results found banner when you couldn't get any results from a grid including if you were grouped.

by sparksterz

HTML

<script src="http://cdn.kendostatic.com/2014.3.1411/js/kendo.all.min.js"></script>
<link rel="stylesheet" href="http://cdn.kendostatic.com/2014.3.1411/styles/kendo.common.min.css">
<link rel="stylesheet" href="http://cdn.kendostatic.com/2014.3.1411/styles/kendo.rtl.min.css">
<link rel="stylesheet" href="http://cdn.kendostatic.com/2014.3.1411/styles/kendo.default.min.css">
<div id="grid"></div>

JavaScript

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>');
        }
    }
}

$(document).ready(function () {
    var grid = $("#grid").kendoGrid({
        dataSource: {
            type: "odata",
            transport: {
                read: "http://demos.kendoui.com/service/Northwind.svc/Orders"
            },
            schema: {
                model: {
                    fields: {
                        OrderID: {
                            type: "number"
                        },
                        Freight: {
                            type: "number"
                        },
                        ShipName: {
                            type: "string"
                        },
                        OrderDate: {
                            type: "date"
 ...