简体   繁体   English

如何在 ag-grid 中禁用 header 点击排序

[英]how to disable header clicks sort in ag-grid

As the ag-Grid sorting , setting the opt.enablesorting true, this will allow header clicks and show sort icons and sort within the grid.作为ag-Grid 排序,将 opt.enablesorting 设置为 true,这将允许 header 次点击并显示排序图标并在网格内排序。

However, I prefer to set api.setSortModel manually in a popup mdoel window rather than header clicks.但是,我更喜欢在弹出窗口中手动设置 api.setSortModel window 而不是 header 点击。 So I want header clicks was disabled by some ways.所以我想通过某些方式禁用 header 次点击。 I have tried some ways to fix it, but any of them worked.我尝试了一些方法来修复它,但其中任何一种都有效。

eg I setted the opt.enablesorting false, header clicks sort was be disabled.例如,我将 opt.enablesorting 设置为 false,header 点击排序被禁用。 But meantime, api.setSortModel didn't work as well.但与此同时, api.setSortModel 也不起作用。

eg I used headerCellRenderer to custom headerCellTemplate, but also failed.例如,我使用 headerCellRenderer 来自定义 headerCellTemplate,但也失败了。 Because the up down arrow was shown up when I click the header.因为当我点击 header 时出现了上下箭头。

Are there any ways to help me to fix it?有什么方法可以帮助我修复它吗?

There is no as such event for column header click, so that you can handle that. 列标题单击没有此类事件,因此您可以进行处理。 But I Found one hack by using column header template default template is: 但是我发现使用列标题模板的默认模板的一个hack是:

<div class="ag-header-cell">
    <div id="agResizeBar" class="ag-header-cell-resize"></div>
    <span id="agMenu" class="ag-header-icon ag-header-cell-menu-button"></span>
    <div id="agHeaderCellLabel" class="ag-header-cell-label">
        <span id="agSortAsc" class="ag-header-icon ag-sort-ascending-icon"></span>
        <span id="agSortDesc" class="ag-header-icon ag-sort-descending-icon"></span>
        <span id="agNoSort" class="ag-header-icon ag-sort-none-icon"></span>
        <span id="agFilter" class="ag-header-icon ag-filter-icon"></span>
        <span id="agText" class="ag-header-cell-text"></span>
    </div>
</div>

keep same struture if you want but remove id="agHeaderCellLabel" from third div to make it as 如果需要,请保留相同的结构,但从第三个div中删除id =“ agHeaderCellLabel”使其成为

<div class="ag-header-cell">
    <div id="agResizeBar" class="ag-header-cell-resize"></div>
    <span id="agMenu" class="ag-header-icon ag-header-cell-menu-button"></span>
    <div class="ag-header-cell-label">
        <span id="agSortAsc" class="ag-header-icon ag-sort-ascending-icon"></span>
        <span id="agSortDesc" class="ag-header-icon ag-sort-descending-icon"></span>
        <span id="agNoSort" class="ag-header-icon ag-sort-none-icon"></span>
        <span id="agFilter" class="ag-header-icon ag-filter-icon"></span>
        <span id="agText" class="ag-header-cell-text"></span>
    </div>
</div>

this will prevent the click event binding 这将阻止点击事件绑定

in the newer version (Version 27.2.0 is the one i'm using), remove ref="eLabel" in div在较新的版本中(版本 27.2.0 是我正在使用的版本),删除 div 中的 ref="eLabel"

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM