我正在尝试在ngx-Datatable(https://github.com/swimlane/ngx-datatable)中实现cellTemplates,但无法弄清楚它为什么不起作用。
首先我的观点
c100
我有这样的模板类。
<ngx-datatable [rows]="skifte?.utsade" [columnMode]="flex" [selectionType]="'single'" [columns]="columns" (select)='edit($event)'></ngx-datatable>
并试着像这样使用它。但是那个细胞的风格没有变化。
import { Component, TemplateRef, ViewChild } from '@angular/core';
@Component({
moduleId: module.id,
selector:'',
template:"
<template #checkbox let-row="row" let-value="value" let-i="index">
<md-checkbox checked="value === 'true'"></md-checkbox>
</template>"
})
export class CellTemplates{
@ViewChild('checkbox') public checkbox: TemplateRef<any>;
constructor(){
}
}
答案 0 :(得分:4)
首先关闭ngx-datatable
checkboxable:boolean
指示列是否应显示复选框组件 选择。仅在选择模式为复选框时适用。
因此您可以告诉它您的列应该是复选框。 第二, 如果您确实需要一个带有conponent的自定义模板,则需要创建一个有效的组件,然后将其包含在要在单元格中使用的模板中:
<template #chkBxTmpl let-row="row" let-value="value" let-i="index">
<checkbox-component [state]="value"></checkbox-component>
</template>
并在组件中:
@ViewChild('chkBxTmpl') chkBxTmpl: TemplateRef:<any>;
....
this.columns = [
...
{
cellTemplate: this.chkBxTmpl,
prop: 'checked',
name: 'checked',
width: 100
}
....
];