【问题标题】:Ag-Grid expand rowAg-Grid 展开行
【发布时间】:2017-02-26 06:50:08
【问题描述】:

我正在使用 Ag-grid 来控制我的表格,但我希望在我的组中存储行列表,而不是让行组在 2 次单击中展开,我希望在 1 次单击中。 如果我点击图标箭头,它可以工作,但如果我点击标题行,它只会在 2 次点击时打开。

我已经尝试在文档中找到有关它的任何信息,但什么也找不到。

这是文档中的一个示例。 https://ag-grid.com/javascript-grid-tree/index.php

示例图片:

【问题讨论】:

    标签: ag-grid


    【解决方案1】:

    我们现在建议不要使用onGroupExpandedOrCollapsed,所以现在应该是...

    这也将更新图标和动画行,onGroupExpandedOrCollapsed 不会。

    onRowClicked(params) {
        params.node.setExpanded(!params.node.expanded);
    }
    

    这将切换扩展,如果您希望行保持打开状态,请使用 params.node.setExpanded(true)

    【讨论】:

    • 如何禁用行扩展的双击行为?
    【解决方案2】:

    您可以在单击的行或单元格上监听事件,并相应地展开节点。

    例如,要根据点击展开一行,您可以执行以下操作:

    onRowClicked: (params) => {
        // update the node to be expanded
        params.node.expanded = true; 
        // tell the grid to redraw based on state of nodes expanded state 
        gridOptions.api.onGroupExpandedOrCollapsed(params.rowIndex)
    }
    

    这应该在文档中 - 我会更新它以反映这些信息。

    【讨论】:

    • 谢谢肖恩,提供信息,我试过了,但我希望控制的部分不起作用,基本上我试图扩展的只是单击一下是行的其余部分而不是图标,您可以查看此链接的截图。i.imgur.com/hiO54L7.png 或上图,我更新了我的问题。
    • 嗨@Pedro - 上面的代码应该一键展开该行 - 我在发布之前尝试了一个分组示例以进行验证。如果你使用这个代码示例,它是否仍然无法一键展开?如果没有,你有我可以看看的 plunker 吗?
    • 最好使用专用函数params.node.setExpanded(!params.node.expanded),它也处理动画。
    【解决方案3】:

    column definition 中,您可以使用onCellClicked(params) 函数告诉它在单击单元格时执行某些操作。我尝试寻找扩展功能,但我只能找到expandAll(),我认为您不会想要它。所以我要做的就是使用 jquery 或简单的 DOM 选择来单击该单元格内的展开图标。

    【讨论】:

      【解决方案4】:

      这个有效

       onRowClicked(params) { 
          params.context.setExpand.onExpandClicked(params.rowIndex, params.node.rowHeight);
        }
      

      【讨论】:

        猜你喜欢
        • 2021-06-14
        • 2017-03-06
        • 2021-10-20
        • 2018-10-16
        • 1970-01-01
        • 2023-03-23
        • 2018-02-03
        • 2020-10-26
        • 1970-01-01
        相关资源
        最近更新 更多