Skip to main content

Table Data Hds

<sl-table-data-hds> | SlTableDataHds
Since 2.0 experimental

Data table component to display data in a tabular format.

Examples

Data Table Example

<sl-table-data-hds id="hds-data-table"></sl-table-data-hds>
<script>
  const dataTable = document.getElementById('hds-data-table');

  dataTable.chartTitle = "Special DataTable Example"
  dataTable.rowHover = true;
  dataTable.striped = true;
  // NOTE: the 'status' keyword transforms the values into labels
  dataTable.columns = ['name', 'age', 'city', 'editable input', 'status'];
  dataTable.editableColumns = ['city', 'editable input']
  dataTable.data = [
    { id: 1, rows: [ 'Alice', 12, 'New York', 'A value that needs to be edited', 'Active' ] },
    { id: 2, rows: [ 'Jim', 38, 'Victoria', 'A value that needs to be edited', 'Inactive'] },
    { id: 3, rows: [ 'Bob', 50, 'Western AUS', 'A value that needs to be edited', 'Pending'] },
    { id: 4, rows: [ 'Peter', 29, 'TN', 'A value that needs to be edited', 'Active'] },
    { id: 5, rows: [ 'Joe', 30, 'NSW', 'A value that needs to be edited', 'Active'] },
  ];

  // Example of capturing data when editing a cell
  document.getElementById('hds-data-table').addEventListener('cell-edit', (event) => {
    const { id, rowIndex, colIndex, updatedValue } = event.detail;
    console.log(`Cell updated record id: ${id} at row ${rowIndex}, column ${colIndex}: ${updatedValue}`);
    // Handle the update, e.g., save to a server or update local state
  });

  // Example of capturing selected row data
  document.getElementById('hds-data-table').addEventListener('selection-change', (event) => {
    const { selectedRowIds } = event.detail;
    console.log(`Id's of rows selected: ${selectedRowIds}`);
    // Handle the update, e.g., save to a server or update local state
  });

  // Example of capturing action click on row eye
  document.getElementById('hds-data-table').addEventListener('row-action', (event) => {
    const { id } = event.detail;
    console.log(`Id of row: ${id}`);
    // Handle the update, e.g., save to a server or update local state
  });
</script>

Second Example

TODO

[component-metadata:sl-table-data-hds]

Slots

Name Description
(default) The default slot.

Learn more about using slots.

Properties

Name Description Reflects Type Default
data The data to be displayed in the table. TableData[] []
columns The titles to be displayed in the table header columns. string[] []
editableColumns
editable-columns
Defines which columns will be editable. string[] []
chartTitle
table-title
The title of the data table. string ''
rowHover
row-hover
Adds hover effect to the table rows. boolean false
striped Adds alternating stripes to the table rows. boolean false
updateComplete A read-only promise that resolves when the component has finished updating.

Learn more about attributes and properties.

Events

Name React Event Description Event Detail
cell-edit event emitted when a cell is edited. -
selection-change event emitted when the selection changes. -
row-action event emitted when a row action is clicked. -

Learn more about events.

Custom Properties

Name Description Default
--example An example CSS custom property.

Learn more about customizing CSS custom properties.

Parts

Name Description
base The component’s base wrapper.

Learn more about customizing CSS parts.

Dependencies

This component automatically imports the following dependencies.

  • <sl-example>