Angular UI 网格条件行展开

Angular UI Grid conditional row expand

我正在使用 Angular UI Grid 和 ui-grid-expandable 插件。 如果显示展开按钮 (+),是否有办法决定每一行? 默认情况下始终显示,无论子网格中是否有可用数据。

谢谢。

遗憾的是,目前还没有这样的选项。

您可以使用以下方法让事情如您所愿:

  • 通过设置为 false enableExpandableRowHeader
  • 删除默认行 headers
  • 通过调用 $scope.gridApi.core.addRowHeaderColumn
  • 添加自定义行 header

这样您就可以构建自己的逻辑。我在 this plunkr.

中做了类似的事情

如果您需要更多信息:

我有一个 UI-GRID 的拉取请求可以解决这个问题。

您向名为 disableRowExpandable 的 subGridOptions 添加了一个布尔值。

https://github.com/angular-ui/ui-grid/pull/6135/commits/83ade3445711e532f689d224904babfe92c7b45e

是的,你可以!

将此选项添加到 subGridOptions 对象:

disableRowExpandable:(condition here).

只需使用最新版本的UI GRID

https://cdnjs.cloudflare.com/ajax/libs/angular-ui-grid/4.11.0/ui-grid.min.js

然后在 subGridOptions

中使用 属性 disableRowExpandable

这里有一个小例子。

for (i = 0; i < response.data.result.length; i++) {
                    if (response.data.result[i].SubProcesos != null) {
                        response.data.result[i].subGridOptions = {
                            columnDefs: establecerColDefs(response.data.Rol),
                            data: response.data.result[i].SubProcesos,
                            disableRowExpandable: false

                        };
                    } else {
                        response.data.result[i].subGridOptions = {
                            columnDefs: [{ }],
                            data:[{}],
                            disableRowExpandable: true
                    };
                    }
                }