SpanColumnComponent
Represents a column which can be spanned over multiple data cells while the individual
header and footer cells are retained (see example).
Enables you to achieve more flexible layout while keeping the built-in UI element for
sorting and filtering. Wrap the columns that will be
merged inside the <kendo-treelist-span-column>
tag.
By default, the data cell displays the data for the specified fields. To further customize the span-column functionality, use a cell template.
<kendo-treelist-span-column>
<kendo-treelist-column field="field1" title="Field 1"></kendo-treelist-column>
<kendo-treelist-column field="field2" title="Field 2"></kendo-treelist-column>
<ng-template kendoTreeListCellTemplate let-dataItem>
<h5>{{ dataItem.field1 }}</h5>
<p>{{ dataItem.field2 }}</p>
</ng-template>
</kendo-treelist-span-column>
Selector
kendo-treelist-span-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-treelist [data]="treelistData" style="height: 200px">
<kendo-treelist-column field="ProductName" title="Product Name" width="200" [class]="{'myClass': true}">
</kendo-treelist-column>
<kendo-treelist-column field="UnitPrice" title="Unit Price" width="230">
</kendo-treelist-column>
</kendo-treelist>
`
})
class AppComponent {
public treelistData: any[];
constructor() {
this.treelistData = [{
"ProductID": 1,
"ProductName": "Chai",
"UnitPrice": 18.0000,
"Discontinued": true
}, {
"ProductID": 2,
"ProductName": "Chang",
"UnitPrice": 19.0000,
"Discontinued": false
}];
}
}
expandable
boolean
(default: false) Defines whether the expanded indicator should be rendered in the column.
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.
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-treelist>
<kendo-treelist-column field="UnitPrice" media="(min-width: 320px)">
</kendo-treelist-column>
</kendo-treelist>
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-treelist>
<kendo-treelist-column field="UnitPrice" media="md">
</kendo-treelist-column>
</kendo-treelist>
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.
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-treelist [data]="treelistData" style="height: 200px">
<kendo-treelist-column field="ProductName" title="Product Name" width="200" [style]="{'text-align': 'right'}">
</kendo-treelist-column>
<kendo-treelist-column field="UnitPrice" title="Unit Price" width="230">
</kendo-treelist-column>
</kendo-treelist>
`
})
class AppComponent {
public treelistData: any[];
constructor() {
this.treelistData = [{
"ProductID": 1,
"ProductName": "Chai",
"UnitPrice": 18.0000,
"Discontinued": true
}, {
"ProductID": 2,
"ProductName": "Chang",
"UnitPrice": 19.0000,
"Discontinued": false
}];
}
}
editable
boolean
Defines whether the edit template of the column will be rendered. The default value is false
.
To enable the editing functionality for a spanned column, set an edit template for it.
<kendo-treelist>
<kendo-treelist-span-column [editable]="false">
<kendo-treelist-column field="UnitPrice">
</kendo-treelist-column>
<kendo-treelist-column field="ProductName">
</kendo-treelist-column>
<ng-template kendoTreeListEditTemplate>
.....
</ng-template>
</kendo-treelist-span-column>
</kendo-treelist>
locked
boolean
(default: false) Toggles the locked (frozen) state of the columns. Locked columns are visible at all times during the horizontal scrolling of the TreeList.
For the option to work properly, make sure that:
- Scrolling is enabled.
- The
height
option of the TreeList is set. - The widths of all TreeList columns are explicitly set in pixels. In this way, the TreeList adjusts the layout of the locked and unlocked columns.
@Component({
selector: 'my-app',
template: `
<kendo-treelist [data]="treelistData" [scrollable]="scrollable" style="height: 200px">
<kendo-treelist-span-column [locked]="true">
<kendo-treelist-column field="ProductID" title="Product ID" width="120">
</kendo-treelist-column>
<kendo-treelist-column field="ProductName" title="Product Name" width="200">
</kendo-treelist-column>
</kendo-treelist-span-column>
<kendo-treelist-column field="UnitPrice" title="Unit Price" width="230">
</kendo-treelist-column>
</kendo-treelist>
`
})
class AppComponent {
public treelistData: any[];
constructor() {
this.treelistData = products;
}
}
const products = [{
"ProductID": 1,
"ProductName": "Chai",
"UnitPrice": 18.0000,
"Discontinued": true
}, {
"ProductID": 2,
"ProductName": "Chang",
"UnitPrice": 19.0000,
"Discontinued": false
}
];
Fields
orderIndex
number
The column index after reordering.
orderIndex
is a read-only property. Setting this field does not affect column order.