ag-grid:有没有办法在清除范围选择时触发事件
ag-grid: is there a way to trigger event when clear range selection
当发生范围选择时,我可以收听 rangeSelectionChanged
事件。当所有选定的范围都被清除时,我可以听到任何事件吗?
如果我理解正确 所选范围被清除 我假设用户随机点击网格中的任何单元格因此只有一个单元格被高亮并且范围被清除。为此,没有单独的事件,因此在这种情况下您必须检查 CellRange 对象。
下面的逻辑你可以在 rangeSelectionChanged
事件
中使用
onRangeSelectionChanged(event) {
...
...
//lets check here if selection is cleared by user or not
var cellRanges = this.gridApi.getCellRanges(); // this gives the cellrange object.
var startRowIndex = cellRanges[0].startRow.rowIndex;
var endRowIndex = cellRanges[0].endRow.rowIndex;
var NumberOfColumns = cellRanges[0].columns.length;
//cellRange.length shows how many different ranges user has selected in Grid
if(startRowIndex === endRowIndex && NumberOfColumns ===1 && cellRanges.length<2)
{
//do your processing here
}
您可以使用:
onSelectionChanged
检测用户是否通过点击单元格清除范围选择(单选单元格)
onRangeSelectionChanged
通过检查回调中是否有 GridApi.getCellRanges().length === 0
来检测用户是否完全清除范围选择
<AgGridReact
enableRangeSelection
onSelectionChanged={(e) => {
onSingleSelection();
}}
onRangeSelectionChanged={(e) => {
const cellRanges = e.api.getCellRanges();
const rangeSelectionCount = cellRanges.length;
if (rangeSelectionCount === 0) {
onClearSelection();
}
}}
{...}
/>
现场演示
当发生范围选择时,我可以收听 rangeSelectionChanged
事件。当所有选定的范围都被清除时,我可以听到任何事件吗?
如果我理解正确 所选范围被清除 我假设用户随机点击网格中的任何单元格因此只有一个单元格被高亮并且范围被清除。为此,没有单独的事件,因此在这种情况下您必须检查 CellRange 对象。
下面的逻辑你可以在 rangeSelectionChanged
事件
onRangeSelectionChanged(event) {
...
...
//lets check here if selection is cleared by user or not
var cellRanges = this.gridApi.getCellRanges(); // this gives the cellrange object.
var startRowIndex = cellRanges[0].startRow.rowIndex;
var endRowIndex = cellRanges[0].endRow.rowIndex;
var NumberOfColumns = cellRanges[0].columns.length;
//cellRange.length shows how many different ranges user has selected in Grid
if(startRowIndex === endRowIndex && NumberOfColumns ===1 && cellRanges.length<2)
{
//do your processing here
}
您可以使用:
onSelectionChanged
检测用户是否通过点击单元格清除范围选择(单选单元格)onRangeSelectionChanged
通过检查回调中是否有GridApi.getCellRanges().length === 0
来检测用户是否完全清除范围选择
<AgGridReact
enableRangeSelection
onSelectionChanged={(e) => {
onSingleSelection();
}}
onRangeSelectionChanged={(e) => {
const cellRanges = e.api.getCellRanges();
const rangeSelectionCount = cellRanges.length;
if (rangeSelectionCount === 0) {
onClearSelection();
}
}}
{...}
/>