0

我正在使用 Angular Kendo 并建立一个列表。

<kendo-mobile-list-view id="myList" class="item-list" k-template="templates.myListTemp" k-data-source="myService.myDataSource">
</kendo-mobile-list-view>

我正在使用 KendoDataSourceObservableArray在我的服务中为我的列表生成数据。

this.myDataSource = new kendo.data.DataSource({ data:this.myObservableArray });
this.myObservableArray.push({ key: "test", id:"test" });

每个都按预期工作。

现在我想在他们没有要显示的记录时显示一条消息,在我显示列表的地方,比如“没有要显示的记录,请刷新”。

我怎样才能使用角度剑道来实现这一点。
我看到很少有关于 Kendo JQuery 的帖子,但没有针对 Angular Kendo 的解决方案。

4

2 回答 2

1

定义网格

$('#grid').kendoGrid({
    dataSource: employeeDataSource,
    dataBound: function () {
        DisplayNoResultsFound($('#grid'));
},

javascript函数'DisplayNoResultsFound'如下

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

    // If there are no results place an indicator row
    if (dataSource._view.length == 0) {
        grid.find('.k-grid-content tbody')
            .append('<tr class="kendo-data-row"><td colspan="' + colCount + '" style="text-align:center"><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>');
        }
    }
}

于 2016-03-16T15:03:49.707 回答
0

首先,您应该为您的剑道实例添加一个名称(myList):

<kendo-mobile-list-view="myList" id="myList" class="item-list" k-template="templates.myListTemp" k-data-source="myService.myDataSource">
    </kendo-mobile-list-view>

然后,在您的控制器中:

$scope.myList.bind('dataBound',DisplayNoResultsFound)

您也可以在 html 中指定一些选项并从角度控制器中k-options读取这些选项(包括),这个链接解释了更多关于它的信息dataBound

于 2017-11-07T22:31:30.133 回答