Angular 选中或取消选中放置在剑道网格行上的剑道复选框无效
我正试图通过Telerik的文档在剑道网格中添加一个复选框列。当我尝试从一行中选中或取消选中复选框时,它不起作用 这是我的html:Angular 选中或取消选中放置在剑道网格行上的剑道复选框无效,angular,kendo-ui,kendo-grid,Angular,Kendo Ui,Kendo Grid,我正试图通过Telerik的文档在剑道网格中添加一个复选框列。当我尝试从一行中选中或取消选中复选框时,它不起作用 这是我的html: <kendo-grid [data]="gridView" [selectable]="selectableSettings" [height]="317" [kendoGridSelectBy]="getWholeItemRow" [selectedKeys]="mySelection" (selectedK
<kendo-grid
[data]="gridView"
[selectable]="selectableSettings"
[height]="317"
[kendoGridSelectBy]="getWholeItemRow"
[selectedKeys]="mySelection"
(selectedKeysChange)="onSelectedKeysChange($event)"
(remove)="confirmDeleteItemFromGrid($event)">
<ng-template
kendoGridToolbarTemplate>
<button
[disabled]='mySelection.length === 0'
mat-flat-button
class="btn-danger btn-sm"
(click)="removeSelectedItems()">Remove selected items</button>
</ng-template>
<kendo-grid-checkbox-column width="15" showSelectAll="true" [columnMenu]="false" >
<ng-template kendoGridHeaderTemplate>
<input class="k-checkbox" id="selectAllCheckboxId" kendoGridSelectAllCheckbox
[state]="selectAllState"
(selectAllChange)="onSelectAllChange($event)">
<label class="k-checkbox-label"
for="selectAllCheckboxId"></label>
</ng-template>
</kendo-grid-checkbox-column>
...
</kendo-grid>
更新[selectedKeys]集合时应激发的函数:(不工作)
用于填充网格:
loadItems() {
this.gridView = {
data: this.captures,
total: this.captures.length
};
}
}
多谢各位
更新:
<kendo-grid [selectable]="selectableSettings" [kendoGridSelectBy]="onSelectedKey" [selectedKeys]="selectedData">
<kendo-grid-checkbox-column showSelectAll="true" [columnMenu]="false">
</kendo-grid-checkbox-column>
</kendo-grid>
public setSelectableSettings(): void {
this.selectableSettings = {
checkboxOnly: false,
mode: 'multiple',
};
}
// This method is used to get the checked record data
public onSelectedKey(context: RowArgs): any {
return context.dataItem;
}
我编辑了selectableSettings对象,现在可以工作了:
public selectableSettings: SelectableSettings = {
enabled: true,
checkboxOnly: true,
mode: 'multiple'
};
似乎您为复选框提供了错误的类。您使用的不是
k-checkbox
,而是k-radio
。按如下所示进行更改
<input type="checkbox" class="k-checkbox" id="selectAllCheckboxId"
kendoGridSelectAllCheckbox [state]="selectAllState"
(selectAllChange)="onSelectAllChange($event)"/>
在剑道网格元素中添加以下属性: HTML:
<kendo-grid [selectable]="selectableSettings" [kendoGridSelectBy]="onSelectedKey" [selectedKeys]="selectedData">
<kendo-grid-checkbox-column showSelectAll="true" [columnMenu]="false">
</kendo-grid-checkbox-column>
</kendo-grid>
public setSelectableSettings(): void {
this.selectableSettings = {
checkboxOnly: false,
mode: 'multiple',
};
}
// This method is used to get the checked record data
public onSelectedKey(context: RowArgs): any {
return context.dataItem;
}
剑道API参考:
谢谢。。我正在接近那个想法,但仍然没有奏效。我将添加我的.ts以了解更多信息。当然。我添加了剑道网格复选框列API参考链接。请看一看谢谢我会看一下文档的。
<kendo-grid [selectable]="selectableSettings" [kendoGridSelectBy]="onSelectedKey" [selectedKeys]="selectedData">
<kendo-grid-checkbox-column showSelectAll="true" [columnMenu]="false">
</kendo-grid-checkbox-column>
</kendo-grid>
public setSelectableSettings(): void {
this.selectableSettings = {
checkboxOnly: false,
mode: 'multiple',
};
}
// This method is used to get the checked record data
public onSelectedKey(context: RowArgs): any {
return context.dataItem;
}