Search results

StackedColumnDirective API in Angular Grid API component

e-stacked-column directive represent the stacked column of the Angular Grid. It must be contained in a StackedColumns component(e-stacked-columns).

<ejs-grid [dataSource]='data' allowPaging='true' allowSorting='true'>
  <e-columns>
    <e-column field='ID' width='100'></e-column>
    <e-column headerText='Details' width='100'>
      <e-stacked-columns>
        <e-stacked-column field='Name' width='140'></e-stacked-column>
      </e-stacked-columns>
    </e-column>
  </e-columns>
</ejs-grid>

Properties

allowEditing

any

If allowEditing set to false, then it disables editing of a particular column. By default all columns are editable.

Defaults to true

allowFiltering

any

If allowFiltering set to false, then it disables filtering option and filter bar element of a particular column. By default all columns are filterable.

Defaults to true

allowGrouping

any

If allowGrouping set to false, then it disables grouping of a particular column. By default all columns are groupable.

Defaults to true

allowReordering

any

If allowReordering set to false, then it disables reorder of a particular column. By default all columns can be reorder.

Defaults to true

allowResizing

any

If allowResizing set to false, it disables resize option of a particular column.

Defaults to true

allowSearching

any

If allowSearching set to false, then it disables Searching of a particular column. By default all columns allow Searching.

Defaults to true

allowSorting

any

If allowSorting set to false, then it disables sorting option of a particular column. By default all columns are sortable.

Defaults to true

autoFit

any

If autoFit set to true, then the particular column content width will be adjusted based on its content in the initial rendering itself. Setting this property as true is equivalent to calling autoFitColumns method in the dataBound event.

Defaults to false

clipMode

any

Defines the cell content’s overflow mode. The available modes are

  • Clip - Truncates the cell content when it overflows its area.
  • Ellipsis - Displays ellipsis when the cell content overflows its area.
  • EllipsisWithTooltip - Displays ellipsis when the cell content overflows its area also it will display tooltip while hover on ellipsis applied cell.

Defaults to Ellipsis

columns

any

Used to render multiple header rows(stacked headers) on the Grid header.

Defaults to null

commands

any

commands provides an option to display command buttons in every cell. The available built-in command buttons are

  • Edit - Edit the record.
  • Delete - Delete the record.
  • Save - Save the record.
  • Cancel - Cancel the edit state. The following code example implements the custom command column.

    <style type="text/css" class="cssStyles">
    .details-icon:before
    {
    content:"\e74d";
    }
    </style>
    <div id="Grid"></div>
    var gridObj = new Grid({
    datasource: window.gridData,
    columns : [
    { field: 'CustomerID', headerText: 'Customer ID' },
    { field: 'CustomerName', headerText: 'Customer Name' },
    {commands: [{buttonOption:{content: 'Details', click: onClick, cssClass: details-icon}}], headerText: 'Customer Details'}
    ]
    gridObj.appendTo("#Grid");

Defaults to null

customAttributes

any

The CSS styles and attributes of the content cells of a particular column can be customized.

<div id="Grid"></div>
let gridObj: Grid = new Grid({
dataSource: filterData,
columns: [
  { field: 'OrderID', headerText: 'Order ID' },
  {
      field: 'EmployeeID', headerText: 'Employee ID', customAttributes: {
         class: 'employeeid',
         type: 'employee-id-cell'
    }
 }]
});
gridObj.appendTo('#Grid');

Defaults to null

dataSource

any

Defines the column data source which will act as foreign data source.

Defaults to null

defaultValue

any

Defines default values for the component when adding a new record to the Grid.

Defaults to null

disableHtmlEncode

any

If disableHtmlEncode is set to true, it encodes the HTML of the header and content cells.

Defaults to true

displayAsCheckBox

any

If displayAsCheckBox is set to true, it displays the column value as a check box instead of Boolean value.

Defaults to false

edit

any

Defines the IEditCell(../../grid/edit/#cell-edit-template) object to customize default edit cell.

Defaults to {}

editTemplate

any

Defines the cell edit template that used as editor for a particular column. It accepts either template string or HTML element ID.

editType

any

Defines the type of component for editing.

Defaults to ‘stringedit’

enableGroupByFormat

any

If enableGroupByFormat set to true, then it groups the particular column by formatted values. By default no columns are group by format.

Defaults to true

field

any

Defines the field name of column which is mapped with mapping name of DataSource. The bounded columns can be sort, filter and group etc., If the field name contains “dot”, then it is considered as complex binding. The field name must be a valid JavaScript identifier, the first character must be an alphabet and should not contain spaces and special characters.

Defaults to

filter

any

Defines the filter options to customize filtering for the particular column. @default null

filterBarTemplate

any

The filterBarTemplate is used to add a custom component instead of default input component for filter bar. It have create and read functions.

  • create: It is used for creating custom components.
  • read: It is used to perform custom filter action.

    <div id="Grid"></div>
    let gridObj: Grid = new Grid({
    dataSource: filterData,
    columns: [
    { field: 'OrderID', headerText: 'Order ID' },
    {
    field: 'EmployeeID', filterBarTemplate: {
       create: (args: { element: Element, column: Column }) => {
            let input: HTMLInputElement = document.createElement('input');
            input.id = 'EmployeeID';
            input.type = 'text';
            return input;
       },
       write: (args: { element: Element, column: Column }) => {
           args.element.addEventListener('input', args.column.filterBarTemplate.read as EventListener);
       },
       read: (args: { element: HTMLInputElement, columnIndex: number, column: Column }) => {
           gridObj.filterByColumn(args.element.id, 'equal', args.element.value);
      }
    }
    }],
    allowFiltering: true
    });
    gridObj.appendTo('#Grid');

Defaults to null

filterTemplate

any

Defines the filter template/UI that used as filter for a particular column. It accepts either template string or HTML element ID.

foreignKeyField

any

Defines the mapping column name of the foreign data source. If it is not defined then the columns.field will be considered as mapping column name

Defaults to null

foreignKeyValue

any

Defines the display column name from the foreign data source which will be obtained from comparing local and foreign data

Defaults to null

format

any

It is used to change display value with the given format and does not affect the original data. Gets the format from the user which can be standard or custom number and date formats.

Defaults to null

formatter

any

Defines the method which is used to achieve custom formatting from an external function. This function triggers before rendering of each cell.

<div id="Grid"></div>
class ExtendedFormatter implements ICellFormatter {
public getValue(column: Column, data: Object): Object {
 return '<span style="color:' + (data['Verified'] ? 'green' : 'red') + '"><i>' + data['Verified'] + '</i><span>';
}
}
let gridObj: Grid = new Grid({
   dataSource: filterData,
   columns: [
       { field: 'ShipName', headerText: 'Ship Name' },
       { field: 'Verified', headerText: 'Verified Status', formatter: ExtendedFormatter }]
});
gridObj.appendTo('#Grid');

Defaults to null

freeze

any

defines which side the column need to freeze The available built-in freeze directions are

  • Left - Freeze the column at left side.
  • Right - Freeze the column at right side.
  • Fixed - Freeze the column at Center.
  • None - Does not freeze the column.

Defaults to None

headerTemplate

any

Defines the column template as string or HTML element ID which is used to add customized element in the column header.

Defaults to null

headerText

any

Defines the header text of column which is used to display in column header. If headerText is not defined, then field name value will be assigned to header text.

Defaults to null

headerTextAlign

any

Define the alignment of column header which is used to align the text of column header.

Defaults to null

headerValueAccessor

any

Defines the method used to apply custom header cell values from external function and display this on each cell rendered.

<div id="Grid"></div>
let gridObj: Grid = new Grid({
dataSource: [{ EmployeeID: 1, EmployeeName: ['John', 'M'] }, { EmployeeID: 2, EmployeeName: ['Peter', 'A'] }],
columns: [
   { field: 'EmployeeID', headerText: 'Employee ID' },
   { field: 'EmployeeName', headerText: 'Employee First Name',
     headerValueAccessor: (field: string,column: Column) => {
           return "newheadername";
       },
   }]
});

Defaults to null

hideAtMedia

any

column visibility can change based on its Media Queries. hideAtMedia accepts only valid Media Queries.

Defaults to

index

any

Gets the unique identifier value of the column. It is used to get the object.

Defaults to null

isFrozen

any

You can use this property to freeze selected columns in grid.

Defaults to false

isIdentity

any

If isIdentity is set to true, then this column is considered as identity column.

Defaults to false

isPrimaryKey

any

If isPrimaryKey is set to true, considers this column as the primary key constraint.

Defaults to false

lockColumn

any

Defines the mapping column name of the foreign data source. If it is not defined then the columns.field will be considered as mapping column name

Defaults to false

maxWidth

any

Defines the maximum width of the column in pixel or percentage, which will restrict resizing beyond this pixel or percentage.

Defaults to

minWidth

any

Defines the minimum width of the column in pixels or percentage.

Defaults to

showColumnMenu

any

If showColumnMenu set to false, then it disable the column menu of a particular column. By default column menu will show for all columns

Defaults to true

showInColumnChooser

any

If showInColumnChooser set to false, then hides the particular column in column chooser. By default all columns are displayed in column Chooser.

Defaults to true

sortComparer

any

It defines the custom sort comparer function.

template

any

Defines the column template that renders customized element in each cell of the column. It accepts either template string or HTML element ID.

Defaults to null

textAlign

any

Defines the alignment of the column in both header and content cells.

Defaults to Left

type

any

Defines the data type of the column.

Defaults to null

uid

any

Gets the unique identifier value of the column. It is used to get the object.

Defaults to

validationRules

any

editType(../../grid/edit/#cell-edit-type-and-its-params) Defines rules to validate data before creating and updating.

Defaults to null

valueAccessor

any

Defines the method used to apply custom cell values from external function and display this on each cell rendered.

<div id="Grid"></div>
let gridObj: Grid = new Grid({
dataSource: [{ EmployeeID: 1, EmployeeName: ['John', 'M'] }, { EmployeeID: 2, EmployeeName: ['Peter', 'A'] }],
columns: [
   { field: 'EmployeeID', headerText: 'Employee ID' },
   { field: 'EmployeeName', headerText: 'Employee First Name',
     valueAccessor: (field: string, data: Object, column: Column) => {
           return data['EmployeeName'][0];
       },
   }]
});

Defaults to null

visible

any

If visible is set to false, hides the particular column. By default, all columns are displayed.

Defaults to true

width

any

Defines the width of the column in pixels or percentage.

Defaults to