【问题标题】:Angular Slickgrid | How to Enable/Disable checkbox dynamically (Not show/hide checkbox)角滑动网格 |如何动态启用/禁用复选框(不显示/隐藏复选框)
【发布时间】:2022-09-27 21:40:28
【问题描述】:
export class Example1 implements OnInit {
  prepareGrid() {
    this.gridOptions = {
      enableRowSelection: true,
      enableCheckboxSelector: true,
      checkboxSelector: {
        // you can override the logic for showing (or not) the expand icon
        // for example, display the expand icon only on every 2nd row
        selectableOverride: (row: number, dataContext: any, grid: any) => (dataContext.id % 2 === 1)
      },
      multiSelect: false,
      rowSelectionOptions: {
        // True (Single Selection), False (Multiple Selections)
        selectActiveRow: true,
      },
    };
  }
}

我们可以用启用复选框选择器显示/隐藏复选框。但是如何根据某些条件动态启用/禁用复选框?

    标签: javascript slickgrid angular-slickgrid


    【解决方案1】:

    Wiki 文档中已经回答了这个问题,您可以使用selectableOverride,参考Row Selection - Wiki,但您似乎已经拥有该代码,或者您不明白它的用途?

    如果您想在任何时间点更改选定的行,那么只需使用内置的 SlickGrid 方法setSelectedRows(rowIndexes),它需要一个行索引数组,传递一个空数组将清除所有选择。

    <angular-slickgrid 
      gridId="grid4" 
      [columnDefinitions]="columnDefinitions" 
      [gridOptions]="gridOptions"
      [dataset]="dataset" 
      (onAngularGridCreated)="angularGridReady($event)"> <!-- <<== you need this line !-->
    </angular-slickgrid>
    
    angularGridReady(angularGrid: AngularGridInstance) {
      this.angularGrid = angularGrid;
    }
    
    changeRowSelection() {
      angularGrid.slickGrid.setSelectedRows(rowIndexes);
    }
    

    【讨论】:

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