CheckboxColumnComponent
Represents the checkbox for selecting columns in the Grid. If the column is
defined as empty, it renders a default checkbox for row selection.
You can also define the content of the column inside an <ng-template>
tag.
The input requires you to include the SelectionCheckbox
option.
The template context is set to the current data item and the following additional fields are passed:
columnIndex
—The current column index.rowIndex
—The current data row index. If inside a new item row, it will be-1
.dataItem
—The current data item.column
—The current column instance.isNew
—The state of the current item.
For more examples, refer to:
@Component({
selector: 'my-app',
template: `
<kendo-grid [data]="gridData" [selectable]="{enabled: true, checkboxOnly: true}">
<kendo-grid-column field="ProductID" title="Product ID" width="120">
</kendo-grid-column>
<kendo-grid-column field="ProductName" title="Product Name">
</kendo-grid-column>
<kendo-grid-checkbox-column title="Default checkbox">
</kendo-grid-checkbox-column>
<kendo-grid-checkbox-column title="Custom checkbox">
<ng-template kendoGridCellTemplate let-idx="rowIndex">
Select row <input [kendoGridSelectionCheckbox]="idx" />
</ng-template>
</kendo-grid-checkbox-column>
</kendo-grid>
`
})
class AppComponent {
public gridData: any[];
constructor() {
this.gridData = products;
}
}
const products = [{
"ProductID": 1,
"ProductName": "Chai",
"UnitPrice": 18.0000,
"Discontinued": true
}, {
"ProductID": 2,
"ProductName": "Chang",
"UnitPrice": 19.0000,
"Discontinued": false
}
];
Selector
kendo-grid-checkbox-column
Inputs
autoSize
boolean
Indicates whether the column will be resized during initialization so that it fits its header and row content.
columnMenu
boolean
Specifies if the column menu will be shown for the column.
class
string | string[] | Set<string> | {[key: string]: any}
Sets the custom CSS classes to the column cells. Under the hood, to apply the property, the class
option uses the
NgClass directive.
To customize header and footer column cells, use the headerClass
and footerClass
inputs.
import { Component, ViewEncapsulation } from '@angular/core';
@Component({
selector: 'my-app',
encapsulation: ViewEncapsulation.None,
styles: [`
tr .myClass {
text-align: right
}
`],
template: `
<kendo-grid [data]="gridData" style="height: 200px">
<kendo-grid-column field="ProductName" title="Product Name" width="200" [class]="{'myClass': true}">
</kendo-grid-column>
<kendo-grid-column field="UnitPrice" title="Unit Price" width="230">
</kendo-grid-column>
</kendo-grid>
`
})
class AppComponent {
public gridData: any[];
constructor() {
this.gridData = [{
"ProductID": 1,
"ProductName": "Chai",
"UnitPrice": 18.0000,
"Discontinued": true
}, {
"ProductID": 2,
"ProductName": "Chang",
"UnitPrice": 19.0000,
"Discontinued": false
}];
}
}
footerClass
string | string[] | Set<string> | {[key: string]: any}
Sets the custom CSS classes to the column footer cell. Under the hood, to apply the property,
the footerClass
option uses the
NgClass directive.
import { Component, ViewEncapsulation } from '@angular/core';
@Component({
selector: 'my-app',
encapsulation: ViewEncapsulation.None,
styles: [`
tr .myClass {
text-align: right
}
`],
template: `
<kendo-grid [data]="gridData" style="height: 200px">
<kendo-grid-column field="ProductName" title="Product Name" width="200" [footerClass]="{'myClass': true}">
<ng-template kendoGridFooterTemplate>
footer text
</ng-template>
</kendo-grid-column>
<kendo-grid-column field="UnitPrice" title="Unit Price" width="230">
</kendo-grid-column>
</kendo-grid>
`
})
class AppComponent {
public gridData: any[];
constructor() {
this.gridData = [{
"ProductID": 1,
"ProductName": "Chai",
"UnitPrice": 18.0000,
"Discontinued": true
}, {
"ProductID": 2,
"ProductName": "Chang",
"UnitPrice": 19.0000,
"Discontinued": false
}];
}
}
footerStyle
{[key: string]: string}
Sets the custom styles for the footer cell of the column. Under the hood, to apply the property,
the footerStyle
option uses the
NgStyle directive.
@Component({
selector: 'my-app',
template: `
<kendo-grid [data]="gridData" style="height: 200px">
<kendo-grid-column field="ProductName" title="Product Name" width="200" [footerStyle]="{'text-align': 'right'}">
<ng-template kendoGridFooterTemplate>
footer text
</ng-template>
</kendo-grid-column>
<kendo-grid-column field="UnitPrice" title="Unit Price" width="230">
</kendo-grid-column>
</kendo-grid>
`
})
class AppComponent {
public gridData: any[];
constructor() {
this.gridData = [{
"ProductID": 1,
"ProductName": "Chai",
"UnitPrice": 18.0000,
"Discontinued": true
}, {
"ProductID": 2,
"ProductName": "Chang",
"UnitPrice": 19.0000,
"Discontinued": false
}];
}
}
headerClass
string | string[] | Set<string> | {[key: string]: any}
Sets the custom CSS classes to the column header cell. Under the hood, to apply the property,
the headerClass
option uses the
NgClass directive.
import { Component, ViewEncapsulation } from '@angular/core';
@Component({
selector: 'my-app',
encapsulation: ViewEncapsulation.None,
styles: [`
tr .myClass {
text-align: right
}
`],
template: `
<kendo-grid [data]="gridData" style="height: 200px">
<kendo-grid-column field="ProductName" title="Product Name" width="200" [headerClass]="{'myClass': true}">
</kendo-grid-column>
<kendo-grid-column field="UnitPrice" title="Unit Price" width="230">
</kendo-grid-column>
</kendo-grid>
`
})
class AppComponent {
public gridData: any[];
constructor() {
this.gridData = [{
"ProductID": 1,
"ProductName": "Chai",
"UnitPrice": 18.0000,
"Discontinued": true
}, {
"ProductID": 2,
"ProductName": "Chang",
"UnitPrice": 19.0000,
"Discontinued": false
}];
}
}
headerStyle
{[key: string]: string}
Sets the custom styles for the header cell of the column. Under the hood, to apply the property,
the headerStyle
option uses the
NgStyle directive.
@Component({
selector: 'my-app',
template: `
<kendo-grid [data]="gridData" style="height: 200px">
<kendo-grid-column field="ProductName" title="Product Name" width="200" [headerStyle]="{'text-align': 'right'}">
</kendo-grid-column>
<kendo-grid-column field="UnitPrice" title="Unit Price" width="230">
</kendo-grid-column>
</kendo-grid>
`
})
class AppComponent {
public gridData: any[];
constructor() {
this.gridData = [{
"ProductID": 1,
"ProductName": "Chai",
"UnitPrice": 18.0000,
"Discontinued": true
}, {
"ProductID": 2,
"ProductName": "Chang",
"UnitPrice": 19.0000,
"Discontinued": false
}];
}
}
hidden
boolean
(default: false) Sets the visibility of the column (see example).
includeInChooser
boolean
Specifies if the column will be included in the column-chooser list.
lockable
boolean
Specifies if the column can be locked or unlocked from the column menu or by reordering the columns.
locked
boolean
(default: false) Toggles the locked (frozen) state of the columns (more information and example).
@Component({
selector: 'my-app',
template: `
<kendo-grid [data]="gridData" [scrollable]="scrollable" style="height: 200px">
<kendo-grid-column field="ProductID" title="Product ID" width="120" [locked]="true">
</kendo-grid-column>
<kendo-grid-column field="ProductName" title="Product Name" width="200">
</kendo-grid-column>
<kendo-grid-column field="UnitPrice" title="Unit Price" width="230">
</kendo-grid-column>
</kendo-grid>
`
})
class AppComponent {
public gridData: any[];
constructor() {
this.gridData = products;
}
}
const products = [{
"ProductID": 1,
"ProductName": "Chai",
"UnitPrice": 18.0000,
"Discontinued": true
}, {
"ProductID": 2,
"ProductName": "Chang",
"UnitPrice": 19.0000,
"Discontinued": false
}
];
media
string
Sets the condition that needs to be satisfied for a column to remain visible (see example).
If you set the hidden
property, the behavior of media
is overridden.
Accepts the device identifiers that are available in Bootstrap 4 (see example):
"xs"
—Equivalent to"(max-width: 576px)"
."sm"
—Equivalent to"(min-width: 576px)"
."md"
—Equivalent to"(min-width: 768px)"
."lg"
—Equivalent to"(min-width: 992px)"
."xl"
—Equivalent to"(min-width: 1200px)"
.
minResizableWidth
number
The width (in pixels) below which the user is not able to resize the column by using the UI.
reorderable
boolean
(default: true) Indicates whether the column is reorderable.
resizable
boolean
(default: true) Indicates whether the column is resizable.
showSelectAll
boolean
Determines whether a select-all kendoGridSelectAllCheckbox
checkbox will be displayed in the header.
style
{[key: string]: string}
Sets the custom styles for the table cells (excluding the footer and header ones) of the column. Under the hood,
to apply the property, the style
option uses the
NgStyle directive.
@Component({
selector: 'my-app',
template: `
<kendo-grid [data]="gridData" style="height: 200px">
<kendo-grid-column field="ProductName" title="Product Name" width="200" [style]="{'text-align': 'right'}">
</kendo-grid-column>
<kendo-grid-column field="UnitPrice" title="Unit Price" width="230">
</kendo-grid-column>
</kendo-grid>
`
})
class AppComponent {
public gridData: any[];
constructor() {
this.gridData = [{
"ProductID": 1,
"ProductName": "Chai",
"UnitPrice": 18.0000,
"Discontinued": true
}, {
"ProductID": 2,
"ProductName": "Chang",
"UnitPrice": 19.0000,
"Discontinued": false
}];
}
}
title
string
The title of the column.
width
number
The width of the column (in pixels).
Fields
orderIndex
number
The column index after reordering.
orderIndex
is a read-only property. Setting this field does not affect column order.