我在我的項目中使用UI網格。如何在UI網格表中只擴展一行
我在使用ui-grid中的expandable功能。
我需要只擴展一行。
例如,如果我點擊第5行的'+'符號,然後點擊第2行的'+'符號,行號5必須關閉,行號2必須展開。
任何想法如何在ui網格中實現此行爲?
我在我的項目中使用UI網格。如何在UI網格表中只擴展一行
我在使用ui-grid中的expandable功能。
我需要只擴展一行。
例如,如果我點擊第5行的'+'符號,然後點擊第2行的'+'符號,行號5必須關閉,行號2必須展開。
任何想法如何在ui網格中實現此行爲?
你應該使用下面的API從擴張特徵:
rowExpandedStateChanged
這是每當擴展狀態發生變化,可用於攔截用戶擴展其他行的一次活動中募集。
toggleRowExpansion(rowEntity)
這可以在接收到事件來關閉任何其他擴展行被使用。
裏面你的代碼,你需要加入gridOptions.onRegisterApi
gridApi.expandable.on.rowExpandedStateChanged(scope,function(row){})
其中功能是您滾動網格中的所有行,檢查他們是否擴大或不通過檢查row.isExpanded
和自定義函數內部此行關閉每一個擴展的行(但顯然是用戶剛剛擴展的行)。
提醒一下,正如團隊在網站上所述,請注意可擴展功能仍處於alpha階段。
我越來越$ scope.gridApi.selection.toggleRowExpansion是不是一個錯誤的功能eRowExpansion($ scope.gridApi.grid.selection.lastSelectedRow.entity) –
以使角UI電網力覆蓋主要功能在同一時間僅擴展一行展開時/摺疊底部點擊..
搜索「toggleRowExpansion」內部UI的grid.js然後:
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);
}
}
一定有什麼奇怪的你plunker,同時呼籲toggl我不能打開它 – imbalind