0

我正在使用带有 angularjs 的服务器端分页和过滤示例。在网格中加载数据时,我想以编程方式设置第一行。但是,如果网格数据已使用数据源设置,则以下方法不起作用。

$scope.gridOptions.api.selectIndex

不适用于数据源。它仅在使用 $scope.gridOptions.api.setDataSource 后才有效

我还在 github 中打开了一个问题。以下是链接: https ://github.com/ceolter/ag-grid/issues/601

请帮助解决此问题。

4

1 回答 1

0

这是可以预料的。

数据源是将提供服务器数据的对象。只要未加载数据源并且未加载第一个数据,您就不能使用 selectIndex 方法,因为没有任何选择。

作为一种解决方法,我在 gridOptions 中添加了一个自定义选项,您可以在其中提供您想要在第一次加载时选择的内容,并在我的数据第一次加载到我的数据源中时选择它们。我添加了另一个回调以便能够比较数据和另一个当找不到数据时。

如果你想要更简单的东西,你可以向你的数据源传递一个承诺,一旦第一个数据被加载就会被解决(在调用 params.successCallback(data) 之后解决它!)

注意:无论您使用哪种解决方案,都必须在使用 selectIndex 之前调用回调 params.successCallback(data) 以将新数据从数据源发送到网格。

于 2016-01-06T10:43:51.297 回答