【问题标题】:Angular UI Grid conditional row expandAngular UI Grid条件行展开
【发布时间】:2026-01-27 16:45:01
【问题描述】:
我正在使用 Angular UI Grid 和 ui-grid-expandable 插件。
如果显示展开按钮 (+),有没有办法决定每一行?
默认情况下,它始终显示,无论子网格中是否有可用数据。
谢谢。
【问题讨论】:
标签:
javascript
angularjs
angular-ui-grid
【解决方案1】:
很遗憾,目前还没有这样的选择。
您可以使用以下方法让事情如您所愿:
- 通过设置为
false删除默认行标题enableExpandableRowHeader
- 通过调用
$scope.gridApi.core.addRowHeaderColumn添加自定义行标题
这样您就可以构建自己的逻辑。我在this plunkr 中做了类似的事情。
如果您需要更多信息:
【解决方案3】:
是的,你可以!
添加到 subGridOptions 对象这个选项:
disableRowExpandable:(condition here).
【解决方案4】:
只需使用最新版本的 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
};
}
}