ColumnGroupComponent

Represents the column group header of the Grid
(more information and examples).

@Component({
   selector: 'my-app',
   template: `
    <kendo-grid [data]="gridData">
      <kendo-grid-column-group title="Product Info">
        <ng-template kendoGridHeaderTemplate let-columnIndex="columnIndex" let-column="column">
              Column index: {{columnIndex}} / column title: {{column.title}}
        </ng-template>
        <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-column-group>
      <kendo-grid-column field="UnitPrice" title="Unit Price" width="230">
      </kendo-grid-column>
      <kendo-grid-column field="Discontinued" width="120">
          <ng-template kendoGridCellTemplate let-dataItem>
              <input type="checkbox" [checked]="dataItem.Discontinued" disabled/>
          </ng-template>
      </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
 }
];

Selector

kendo-grid-column-group

Inputs

columnMenu boolean

Specifies if the column menu will be shown for the column.

class string | string[] | Set | {[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 | {[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 | {[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).

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.

<kendo-grid>
   <kendo-grid-column field="UnitPrice" [media]="'(min-width: 320px)'">
   </kendo-grid-column>
</kendo-grid>

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)".
<kendo-grid>
   <kendo-grid-column field="UnitPrice" [media]="'md'">
   </kendo-grid-column>
</kendo-grid>

reorderable boolean (default: true)

Indicates whether the column is reorderable.

resizable boolean (default: true)

Indicates whether the column is resizable.

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.