【问题标题】:Ag-grid Angular 2Ag-grid Angular 2
【发布时间】:2018-10-26 00:53:23
【问题描述】:

在 ag-grid 中是否有一种方法,在通过复选框选择选择行并在另一个单元格单击选择的帮助下选择行之后,在选择单元格单击事件上的行后,以前选择的行保持选中状态,就像在复选框的帮助下选择一样。 我有一个事件嵌入到网格的单元格中,并希望在 click 事件的帮助下执行一些任务,但是当单击新单元格时它会丢失先前选择的行。 我想保持之前选择的行的状态。

【问题讨论】:

    标签: angular ag-grid ag-grid-ng2


    【解决方案1】:

    在您的网格选项中,将 rowMultiSelectWithClick 设置为 true。

    https://www.ag-grid.com/javascript-grid-selection/

    将所有多行设置为 true 以单击一次即可选择。例如。如果单击选择一行,然后单击选择另一行,则第一行将保留其选择。在此模式下单击选定的行将取消选择该行。这对于不能选择 ctrl 和 shift 单击的触摸设备很有用。

    【讨论】:

    • 好的,它保留了所选行的状态,但我想要这样,当我单击一个具有在单击时执行某些操作的功能的单元格时,它将保留之前选择的行,当点击另一行有点击事件时,它会根据最新选择的行触发函数,而不是选择所有行。
    • 我有这个单元格,并希望在根据所选的最新行而不是之前选择的所有行单击它时触发一个函数,因此它必须访问最后选择的行然后根据最新的行进行计算: {headerName: "File Name", field: "graphs", cellStyle: {color:'blue'}, onCellClicked : (deleteClickEvent)=> {this.mainContentComponent.getPageCount() ;}
    • 当您单击一个单元格时,它将被取消/选中。您可以做的是根本不使用 agggrid-selection 而是使用 rowNode.setData(data)gridOptions.getRowStyle = ((params: GridRowParams) => {...});
    • 我的意思是你只能在应该选择或取消选择行的单元格中调用 rowNode.setData(data)
    【解决方案2】:

    您可以尝试使用当前选定的行进行多项选择吗?在html中,

    <ag-grid-angular
    #agGrid
    style="width: 100%; height: 100%;"
    id="myGrid"
    class="ag-theme-balham"
    [columnDefs]="columnDefs"
    [rowSelection]="rowSelection"
    (rowSelected)="onRowSelected($event)"
    [rowMultiSelectWithClick]="true"
    (gridReady)="onGridReady($event)"
    (click)="getRowSelected($event)"
    ></ag-grid-angular>
    

    在你的打字稿组件中

    onRowSelected(event) { window.alert("row " + event.node.data.athlete + " selected = " + event.node.selected); }

    希望对您有所帮助!

    【讨论】:

    • 谢谢你,但我已经为网格中的特定列设置了一个事件,它工作正常,但我需要获取最新选择的节点并根据选择的最后一行触发函数不是从所有选定的行中,我已经使用了单元格单击事件,但只是想访问最后一个选定行的实例以进行所需的计算。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-07-07
    • 2016-12-10
    • 2021-09-03
    • 2022-10-19
    • 2017-02-25
    相关资源
    最近更新 更多