在AG Grid中保持行的焦点和选中状态可以通过以下步骤实现:
首先,在组件中定义一个变量selectedRowIndex,用于保存当前选中行的索引值。
在AG Grid实例化时,将onRowClicked回调函数添加到gridOptions上。
在onRowClicked回调函数中,根据点击的行获取其索引值,并保存到selectedRowIndex变量中。
在rowClass规则中添加一个条件判断,判断当前行是否为选中行(即行索引是否等于selectedRowIndex),如果是,则添加一个样式类名“selected”。
代码示例:
@Component({ selector: 'app-grid', templateUrl: './grid.component.html', styleUrls: ['./grid.component.css'] }) export class GridComponent { selectedRowIndex: number;
gridOptions: GridOptions = { columnDefs: [ // column definitions ], rowData: [ // row data ], onRowClicked: (event) => { this.selectedRowIndex = event.rowIndex; }, rowClass: (params) => { if (params.rowIndex === this.selectedRowIndex) { return 'selected'; } else { return ''; } } }; }