【问题标题】:How do i disable a button after ag-grid loadsag-grid加载后如何禁用按钮
【发布时间】:2019-12-05 11:52:11
【问题描述】:

我有一个带有多列的 ag 网格,并且在 ag 网格下方有几个按钮。这里取决于我需要禁用/启用按钮的列之一的 ag 网格值。使用事件侦听器或任何其他方法是否可用?

请帮帮我!!

【问题讨论】:

    标签: angular button dom-events ag-grid


    【解决方案1】:

    根据您的解释,按钮与列值相关 - 然后您可以在初始化 ag-grid 之前根据列单元格值(具有您使用调用 setRowData 函数的值的数组)禁用按钮。

    如果您打算操作网格内的数据,这可能会有所不同 - 这需要在其中一个触发器内创建回调函数:

    • cellValueChanged
    • rowValueChanged
    • cellEditingStopped

    更多信息在这里:Grid Events

    在您的 cmets 之后 - cellRenderer 应该是满足您需求的相关解决方案。

    您可能会使用如下的简单变量来指示当前状态: $scope.previous_page_param = false; //or true regarding user's choice

    这里是渲染器:

    cellRenderer: function(params) {
        if ($scope.previous_page_param) {
          return '<button type="button">Enabled</button>';
        } else {
          return '<button disabled type="button">Disabled</button>';
        }
    }
    

    工作代码在这里:Example

    【讨论】:

    • 感谢您的回复,但我需要禁用该按钮,而无需任何触发器,例如 cellValueChanged、rowValueChanged、cellEditingStopped。在加载网格时,它应该禁用该按钮。有没有其他办法?
    • 请给出明确的规则,何时禁用此按钮以及基于哪个值。代码示例将不胜感激。这是否意味着按钮也应该在网格加载或单元格值更新时被禁用?
    • 当然,Ag grid 将根据上一页的选择标准显示(即我们的主页用户选择产品,然后他来到 ag grid 页面)。现在如果用户选择单个条件应启用 ag 网格页面中的 product then 按钮,否则应禁用它。
    • 感谢您的回答,但我的按钮不在 ag 网格内。它低于 ag 网格。在这种情况下,这会起作用吗? 此代码位于我的 html 组件中,按钮布局位于 ag 网格下方。如果我在 cellRenderer 中调用相同的内容,这是否有意义?
    • @Akshay Krishna - 您的问题与 ag-grid 有关。您需要的只是验证上一页发送的参数,然后设置按钮状态(我根本看不到与 ag-grid 的任何交互)。 'cellRenderer' 只是一个简单的函数,根据你的 Angular 版本使用逻辑。
    【解决方案2】:

    使用GridOptions 接口中的onGridReady,然后在调用时禁用您的按钮。

    Documentation

    【讨论】:

      【解决方案3】:

      我找到了上面的答案。 这可以使用下面的 sn-ps 来完成

          (firstDataRendered) ="firstDataRendered($event)"
      

      HTML 中的上方代码和 component.ts 中的下方代码

       firstDataRendered(params){
       this.params =params;
       this.gridApi = params.api; // To access the grids API
       this.gridColumnApi = params.columnApi;
       if(this.getProducts().length == 1){
         this.disableRefreshButtons = false;
       }
      }
      

      感谢大家的支持。

      【讨论】:

        猜你喜欢
        • 2018-08-30
        • 1970-01-01
        • 2021-03-01
        • 2021-04-05
        • 2017-08-25
        • 2021-01-08
        • 1970-01-01
        • 1970-01-01
        • 2018-10-10
        相关资源
        最近更新 更多