如何在不调用数据绑定方法的情况下清除Kendo网格行?

时间:2016-04-13 16:03:42

标签: asp.net-mvc-4 kendo-ui kendo-grid kendo-asp.net-mvc

我有一个带有数据绑定方法的网格,显示消息“找不到搜索数据”。如果在执行搜索后没有检索到数据。现在我添加了一个单选按钮,单击它时需要清除网格中的旧数据。问题是我使用的代码$(grid).data("kendoGrid").dataSource.data([]);确实清除了网格,但它也显示了搜索结果中没有找到的数据。信息。由于用户没有执行任何搜索但只更改了单选按钮,因此在网格中显示该消息似乎不正确。所以,我想知道是否有办法在不调用数据绑定方法的情况下清除网格。

调用数据绑定功能的网格代码:

@(Html.Kendo().Grid<SearchModel>()
             .Events(events => events.DataBound("gridDataBound"))

数据绑定代码:

function gridDataBound(e) {
    var grid = e.sender;
    var gridName = "#" + grid.table.context.id;

    if (grid.dataSource.total() == 0) {
            var colCount = grid.columns.length;
            $(e.sender.wrapper)
                .find('tbody')
                .append('<tr class="kendo-data-row"><td colspan="' + colCount + '" class="no-data">No Records Meet Your Search Criteria.</td></tr>');
        }
        $(gridName).find(".k-pager-wrap").hide();
};

感谢。

1 个答案:

答案 0 :(得分:0)

据我所知,如果不在e.preventDefault()函数中放置dataBound,就无法做到这一点。你可以做的是做一个你的dataBound函数用来检查它是否应该显示消息的布尔值?