CrudEditColumn
Description
<vaadin-crud-edit-column>
is a helper element for the <vaadin-grid>
that provides a clickable and themable edit icon.
Typical usage is in a custom <vaadin-grid>
inside a <vaadin-crud>
.
Example:
<vaadin-grid>
<vaadin-crud-edit-column></vaadin-crud-edit-column>
<vaadin-grid-column>
...
Properties
ariaLabel
Type: string
The arial-label for the edit button
autoWidth
Type: boolean
Automatically sets the width of the column based on the column contents when this is set to true
.
For performance reasons the column width is calculated automatically only once when the grid items are rendered for the first time and the calculation only considers the rows which are currently rendered in DOM (a bit more than what is currently visible). If the grid is scrolled, or the cell content changes, the column width might not match the contents anymore.
Hidden columns are ignored in the calculation and their widths are not automatically updated when you show a column that was initially hidden.
You can manually trigger the auto sizing behavior again by calling grid.recalculateColumnWidths()
.
The column width may still grow larger when flexGrow
is not 0.
footerPartName
Type: string | null | undefined
Custom part name for the footer cell.
footerRenderer
Type: GridHeaderFooterRenderer<any, GridColumn<any>> | null | undefined
Custom function for rendering the footer content. Receives two arguments:
root
The footer cell content DOM element. Append your content to it.column
The<vaadin-grid-column>
element.
See also: GridHeaderFooterRenderer
frozen
Type: boolean
When true, the column is frozen. When a column inside of a column group is frozen, all of the sibling columns inside the group will get frozen also.
frozenToEnd
Type: boolean
When true, the column is frozen to end of grid.
When a column inside of a column group is frozen to end, all of the sibling columns inside the group will get frozen to end also.
Column can not be set as frozen
and frozenToEnd
at the same time.
header
Type: string | null | undefined
Text content to display in the header cell of the column.
headerPartName
Type: string | null | undefined
Custom part name for the header cell.
headerRenderer
Type: GridHeaderFooterRenderer<any, GridColumn<any>> | null | undefined
Custom function for rendering the header content. Receives two arguments:
root
The header cell content DOM element. Append your content to it.column
The<vaadin-grid-column>
element.
See also: GridHeaderFooterRenderer
hidden
Type: boolean
When set to true, the cells for this column are hidden.
path
Type: string | null | undefined
Path to an item sub-property whose value gets displayed in the column body cells. The property name is also shown in the column header if an explicit header or renderer isn't defined.
renderer
Type: GridBodyRenderer<any, GridColumn<any>> | null | undefined
Custom function for rendering the cell content. Receives three arguments:
root
The cell content DOM element. Append your content to it.column
The<vaadin-grid-column>
element.model
The object with the properties related with the rendered item, contains:model.index
The index of the item.model.item
The item.model.expanded
Sublevel toggle state.model.level
Level of the tree represented with a horizontal offset of the toggle button.model.selected
Selected state.model.detailsOpened
Details opened state.model.hasChildren
Whether the item has children.
See also: GridBodyRenderer
resizable
Type: boolean | null | undefined
When set to true, the column is user-resizable.
rowHeader
Type: boolean
When true, the cells for this column will be rendered with the role
attribute
set as rowheader
, instead of the gridcell
role value used by default.
When a column is set as row header, its cells will be announced by screen readers while navigating to help user identify the current row as uniquely as possible.
textAlign
Type: GridColumnTextAlign | undefined
Aligns the columns cell content horizontally. Supported values: "start", "center" and "end".
See also: GridColumnTextAlign
Types
GridBodyRenderer
export type GridBodyRenderer<TItem, Column extends GridColumnMixin<TItem, Column>> = (
root: HTMLElement,
column: Column,
model: GridItemModel<TItem>,
) => void;
GridColumnTextAlign
export type GridColumnTextAlign = 'center' | 'end' | 'start' | null;
GridHeaderFooterRenderer
export type GridHeaderFooterRenderer<TItem, Column extends ColumnBaseMixinClass<TItem, Column>> = (
root: HTMLElement,
column: Column,
) => void;
GridItemModel
export interface GridItemModel<TItem> {
index: number;
item: TItem;
selected?: boolean;
expanded?: boolean;
level?: number;
detailsOpened?: boolean;
hasChildren?: boolean;
}