我在项目中使用ui网格。
我在ui网格中使用可扩展功能。
我只需要使可扩展的一行。
例如,如果我在第5行单击"+"号,然后在第2行单击"+"号,则第5行必须关闭,第2行必须展开。
知道我如何在ui网格中实现这种行为吗?
您应该使用可扩展功能中的以下api:
toggleRowExpansion(rowEntity)
这是一个在扩展状态更改时引发的事件,可用于拦截用户扩展另一行。
gridOptions.onRegisterApi
这可以在接收到关闭任何其他扩展行的事件时使用。
在您的代码中,您应该在row.isExpanded
中添加此行
toggleRowExpansion: function (rowEntity) {
// --------- COMMENT THIS LINES: ---------
// var row = grid.getRow(rowEntity);
// if (row !== null) {
// service.toggleRowExpansion(grid, row);
// }
// --------- ADD THIS LINES: ---------
var row = grid.getRow(rowEntity);
if (row !== null) {
var isRowExpanded = row.isExpanded || false;
service.collapseAllRows(grid);
if(!isRowExpanded) service.toggleRowExpansion(grid, row);
}
}
Where函数是一个自定义函数,您可以滚动网格中的所有行,通过检查CCD_5来检查它们是否展开,并关闭每个展开的行(但显然是用户刚刚展开的行)。
正如团队在网站上所说,只是提醒一下,要注意可扩展功能仍处于阿尔法阶段。
当单击展开/折叠底部时,将主要功能覆盖为使角度UI网格强制一次仅展开一行。。
在ui-grid.js中搜索"toggleRowExpansion",然后:
PD_3