繁体   English   中英

Angular Slickgrid | 如何动态启用/禁用复选框(不显示/隐藏复选框)

[英]Angular Slickgrid | How to Enable/Disable checkbox dynamically (Not show/hide checkbox)

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,
      },
    };
  }
}

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

该问题已在 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);
}

暂无
暂无

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

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