2

我想在页面加载时切换页面并在网格上选择一行。在 $(document).ready(function()) 我这样写:

$("#myGrid").data("kendoGrid").dataSource.page(17);

它正在工作:网格页面切换到 17。但在那之后我写道:

$("#myGrid").data("kendoGrid").select($("#myGrid").data("kendoGrid").tbody.find('>tr').find('>td').filter(function () {return $(this).text() == "@Model.ActionId";}).parent('tr:first'));

它不工作。但是当我从浏览器的控制台运行这个命令时,该行被选中。我该怎么办?

4

1 回答 1

4

可能您的网格绑定到远程服务。在这种情况下,分页不会立即发生。网格的数据源向远程服务发出异步请求,并在收到响应时重新启动网格。

要使其工作,您需要在收到响应后调用选择代码。网格的dataBound事件是调用该代码的适当位置。这是一个例子:

$("#myGrid").kendoGrid({
   /* other configuration */
   dataBound: function() {
      this.select(this.tbody.find('>tr').find('>td').filter(function () {return $(this).text() == "@Model.ActionId";}).parent('tr:first'));
   }
});
于 2012-12-07T07:45:53.673 回答