---
schema_version: "1"
id: 6cf9aea0700d5dbecb7f60295883a8aba8cfb3edf8bfd088d9f07be8d7385135
title: DataTable Lightning Web Component ReadMe (Managed Package)
collection: admin
version: current
locale: en-us
portal_url: https://docs.salesforce.com/admin/current/en-us/xcloud/264-0-0/os_datatable_lightning_web_component_readme.md
canonical_url: https://help.salesforce.com/s/articleView?id=xcloud.os_datatable_lightning_web_component_readme.htm&release=264.0.0&type=5
source_site: help.salesforce.com
content_type: documentation
content_hash: 1a8d50097d6651f11eb15bbddba3b6dc7560bf4a6927decff1112603f25ec318
description: For the managed package runtime, this page contains the DataTable LWC ReadMe as of the Summer '21 release.
products:
  - Omnistudio
release: "264"
---
# DataTable Lightning Web Component ReadMe (Managed Package)

For the managed package runtime, this page contains the DataTable LWC ReadMe as of the Summer '21 release.

![Managed Package app icon](https://sf-zdocs-cdn-prod.zoominsoftware.com/tdta-xcloud-omnistudio_for_managed_packages-264-0-0-production-enus/aa2554ec-624a-4ee6-8da4-6435670e6e62/resources-global/_corporate/images/managedpackageicon.png) This information is for Omnistudio for Managed Packages. For Omnistudio on standard runtime, see [Omnistudio Help](https://help.salesforce.com/s/articleView?id=xcloud.os_omnistudio_standard.htm&language=en_US).

The _DataTable Lightning Web Component_ creates a tabular structure of the data provided. The _DataTable LWC_ supports grouping, search, pagination, and sorting capabilities.

## Available c-data-table Attributes

IMPORTANT: The table reflects the order by which attributes must be set for _c-data-table_.

<table class="slds-table slds-table_bordered slds-max-medium-table_stacked slds-m-bottom_small ">
        <colgroup>
          <col>
          <col>
          <col>
          <col>
          <col>
        </colgroup>
        <thead class="slds-text-title_caps ">
          <tr class="">
            <th scope="col" class="slds-cell-wrap" style="vertical-align:top;" id="d60332e71">
              <p style="margin-bottom:0;">Attribute</p>
            </th>
            <th scope="col" class="slds-cell-wrap" style="vertical-align:top;" id="d60332e77">
              <p style="margin-bottom:0;">Value</p>
            </th>
            <th scope="col" class="slds-cell-wrap" style="vertical-align:top;" id="d60332e83">
              <p style="margin-bottom:0;">Type</p>
            </th>
            <th scope="col" class="slds-cell-wrap" style="vertical-align:top;" id="d60332e89">
              <p style="margin-bottom:0;">Required</p>
            </th>
            <th scope="col" class="slds-cell-wrap" style="vertical-align:top;" id="d60332e95">
              <p style="margin-bottom:0;">Description</p>
            </th>
          </tr>
        </thead>
        <tbody>
          <tr class="">
            <td data-label="Attribute" class="slds-cell-wrap" style="vertical-align:top;" headers="d60332e71 ">
              <p style="margin-bottom:0;">extraclass</p>
            </td>

            <td data-label="Value" class="slds-cell-wrap" style="vertical-align:top;" headers="d60332e77 ">&nbsp;</td>

            <td data-label="Type" class="slds-cell-wrap" style="vertical-align:top;" headers="d60332e83 ">
              <p style="margin-bottom:0;">string</p>
            </td>

            <td data-label="Required" class="slds-cell-wrap" style="vertical-align:top;" headers="d60332e89 ">&nbsp;</td>

            <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d60332e95 ">
              <p style="margin-bottom:0;">Adds a class to the table element. To add multiple classes, use a space to separate each class, such as 'classone classtwo'.</p>
            </td>

          </tr>
          <tr class="">
            <td data-label="Attribute" class="slds-cell-wrap" style="vertical-align:top;" headers="d60332e71 ">
              <p style="margin-bottom:0;">headerclass</p>
            </td>

            <td data-label="Value" class="slds-cell-wrap" style="vertical-align:top;" headers="d60332e77 ">&nbsp;</td>

            <td data-label="Type" class="slds-cell-wrap" style="vertical-align:top;" headers="d60332e83 ">
              <p style="margin-bottom:0;">string</p>
            </td>

            <td data-label="Required" class="slds-cell-wrap" style="vertical-align:top;" headers="d60332e89 ">&nbsp;</td>

            <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d60332e95 ">
              <p style="margin-bottom:0;">Adds a class to the table header element. To add multiple classes, use a space to separate each class, such as 'classone classtwo'.</p>
            </td>

          </tr>
          <tr class="">
            <td data-label="Attribute" class="slds-cell-wrap" style="vertical-align:top;" headers="d60332e71 ">
              <p style="margin-bottom:0;">issearchavailable</p>
            </td>

            <td data-label="Value" class="slds-cell-wrap" style="vertical-align:top;" headers="d60332e77 ">
              <p style="margin-bottom:0;">true, false (Default: false)</p>
            </td>

            <td data-label="Type" class="slds-cell-wrap" style="vertical-align:top;" headers="d60332e83 ">
              <p style="margin-bottom:0;">boolean</p>
            </td>

            <td data-label="Required" class="slds-cell-wrap" style="vertical-align:top;" headers="d60332e89 ">&nbsp;</td>

            <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d60332e95 ">
              <p style="margin-bottom:0;">To make table searchable, set to true. Displays the search input field and filter dropdown.</p>
            </td>

          </tr>
          <tr class="">
            <td data-label="Attribute" class="slds-cell-wrap" style="vertical-align:top;" headers="d60332e71 ">
              <p style="margin-bottom:0;">issortavailable</p>
            </td>

            <td data-label="Value" class="slds-cell-wrap" style="vertical-align:top;" headers="d60332e77 ">
              <p style="margin-bottom:0;">true, false (Default: false)</p>
            </td>

            <td data-label="Type" class="slds-cell-wrap" style="vertical-align:top;" headers="d60332e83 ">
              <p style="margin-bottom:0;">boolean</p>
            </td>

            <td data-label="Required" class="slds-cell-wrap" style="vertical-align:top;" headers="d60332e89 ">&nbsp;</td>

            <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d60332e95 ">
              <p style="margin-bottom:0;">To make table sortable, set to true. This feature is not available on phones and smaller screens.</p>
            </td>

          </tr>
          <tr class="">
            <td data-label="Attribute" class="slds-cell-wrap" style="vertical-align:top;" headers="d60332e71 ">
              <p style="margin-bottom:0;">theme</p>
            </td>

            <td data-label="Value" class="slds-cell-wrap" style="vertical-align:top;" headers="d60332e77 ">
              <p style="margin-bottom:0;">slds, nds (Default: slds)</p>
            </td>

            <td data-label="Type" class="slds-cell-wrap" style="vertical-align:top;" headers="d60332e83 ">
              <p style="margin-bottom:0;">string</p>
            </td>

            <td data-label="Required" class="slds-cell-wrap" style="vertical-align:top;" headers="d60332e89 ">&nbsp;</td>

            <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d60332e95 ">
              <p style="margin-bottom:0;">Specifies which theme to use.</p>
            </td>

          </tr>
          <tr class="">
            <td data-label="Attribute" class="slds-cell-wrap" style="vertical-align:top;" headers="d60332e71 ">
              <p style="margin-bottom:0;">icon-url</p>
            </td>

            <td data-label="Value" class="slds-cell-wrap" style="vertical-align:top;" headers="d60332e77 ">
              <p style="margin-bottom:0;">url</p>
            </td>

            <td data-label="Type" class="slds-cell-wrap" style="vertical-align:top;" headers="d60332e83 ">
              <p style="margin-bottom:0;">string</p>
            </td>

            <td data-label="Required" class="slds-cell-wrap" style="vertical-align:top;" headers="d60332e89 ">&nbsp;</td>

            <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d60332e95 ">
              <p style="margin-bottom:0;">Overrides the default URL of the svg resource. Used with Newport Design System (NDS) theme only.</p>
            </td>

          </tr>
          <tr class="">
            <td data-label="Attribute" class="slds-cell-wrap" style="vertical-align:top;" headers="d60332e71 ">
              <p style="margin-bottom:0;">group-by</p>
            </td>

            <td data-label="Value" class="slds-cell-wrap" style="vertical-align:top;" headers="d60332e77 ">
              <p style="margin-bottom:0;">JSON</p>
            </td>

            <td data-label="Type" class="slds-cell-wrap" style="vertical-align:top;" headers="d60332e83 ">
              <p style="margin-bottom:0;">object</p>
            </td>

            <td data-label="Required" class="slds-cell-wrap" style="vertical-align:top;" headers="d60332e89 ">&nbsp;</td>

            <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d60332e95 ">
              <p style="margin-bottom:0;">To group table based on a record field, set this attribute. To make field name the group header, set the field name as the value for this attribute. To add a group description with the group header, pass an object as a value for this attribute (see Available <em>group-by</em> Attributes).</p>
            </td>

          </tr>
          <tr class="">
            <td data-label="Attribute" class="slds-cell-wrap" style="vertical-align:top;" headers="d60332e71 ">
              <p style="margin-bottom:0;">pagesize</p>
            </td>

            <td data-label="Value" class="slds-cell-wrap" style="vertical-align:top;" headers="d60332e77 ">&nbsp;</td>

            <td data-label="Type" class="slds-cell-wrap" style="vertical-align:top;" headers="d60332e83 ">
              <p style="margin-bottom:0;">number</p>
            </td>

            <td data-label="Required" class="slds-cell-wrap" style="vertical-align:top;" headers="d60332e89 ">&nbsp;</td>

            <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d60332e95 ">
              <p style="margin-bottom:0;">If set, enables pagination.</p>
            </td>

          </tr>
          <tr class="">
            <td data-label="Attribute" class="slds-cell-wrap" style="vertical-align:top;" headers="d60332e71 ">
              <p style="margin-bottom:0;">row-level-edit</p>
            </td>

            <td data-label="Value" class="slds-cell-wrap" style="vertical-align:top;" headers="d60332e77 ">
              <p style="margin-bottom:0;">true, false (Default: false)</p>
            </td>

            <td data-label="Type" class="slds-cell-wrap" style="vertical-align:top;" headers="d60332e83 ">
              <p style="margin-bottom:0;">boolean</p>
            </td>

            <td data-label="Required" class="slds-cell-wrap" style="vertical-align:top;" headers="d60332e89 ">&nbsp;</td>

            <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d60332e95 ">
              <p style="margin-bottom:0;">To enable row-level editing, set to true. The <em>columns</em> JSON must have editable fields. See Available <em>columns</em> Attributes.</p>
            </td>

          </tr>
          <tr class="">
            <td data-label="Attribute" class="slds-cell-wrap" style="vertical-align:top;" headers="d60332e71 ">
              <p style="margin-bottom:0;">user-selectable-column</p>
            </td>

            <td data-label="Value" class="slds-cell-wrap" style="vertical-align:top;" headers="d60332e77 ">
              <p style="margin-bottom:0;">true, false (Default: true)</p>
            </td>

            <td data-label="Type" class="slds-cell-wrap" style="vertical-align:top;" headers="d60332e83 ">
              <p style="margin-bottom:0;">boolean</p>
            </td>

            <td data-label="Required" class="slds-cell-wrap" style="vertical-align:top;" headers="d60332e89 ">&nbsp;</td>

            <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d60332e95 ">
              <p style="margin-bottom:0;">Enables users to choose which columns are visible. If set to true, in the <em>columns</em> JSON, only those fields with <em>userSelectable</em> set to true will be visible. See Available <em>columns</em> Attributes.</p>
            </td>

          </tr>
          <tr class="">
            <td data-label="Attribute" class="slds-cell-wrap" style="vertical-align:top;" headers="d60332e71 ">
              <p style="margin-bottom:0;">columns</p>
            </td>

            <td data-label="Value" class="slds-cell-wrap" style="vertical-align:top;" headers="d60332e77 ">
              <p style="margin-bottom:0;">JSON</p>
            </td>

            <td data-label="Type" class="slds-cell-wrap" style="vertical-align:top;" headers="d60332e83 ">
              <p style="margin-bottom:0;">array</p>
            </td>

            <td data-label="Required" class="slds-cell-wrap" style="vertical-align:top;" headers="d60332e89 ">
              <p style="margin-bottom:0;">yes</p>
            </td>

            <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d60332e95 ">
              <p style="margin-bottom:0;">Contains heading names and specifies settings for each column. See Available <em>columns</em> Attributes.</p>
            </td>

          </tr>
          <tr class="">
            <td data-label="Attribute" class="slds-cell-wrap" style="vertical-align:top;" headers="d60332e71 ">
              <p style="margin-bottom:0;">records</p>
            </td>

            <td data-label="Value" class="slds-cell-wrap" style="vertical-align:top;" headers="d60332e77 ">
              <p style="margin-bottom:0;">JSON</p>
            </td>

            <td data-label="Type" class="slds-cell-wrap" style="vertical-align:top;" headers="d60332e83 ">
              <p style="margin-bottom:0;">array</p>
            </td>

            <td data-label="Required" class="slds-cell-wrap" style="vertical-align:top;" headers="d60332e89 ">
              <p style="margin-bottom:0;">yes</p>
            </td>

            <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d60332e95 ">
              <p style="margin-bottom:0;">Contains the data to populate the table.</p>
            </td>

          </tr>
          <tr class="">
            <td data-label="Attribute" class="slds-cell-wrap" style="vertical-align:top;" headers="d60332e71 ">
              <p style="margin-bottom:0;">cell-level-edit</p>
            </td>

            <td data-label="Value" class="slds-cell-wrap" style="vertical-align:top;" headers="d60332e77 ">
              <p style="margin-bottom:0;">true, false (Default: false)</p>
            </td>

            <td data-label="Type" class="slds-cell-wrap" style="vertical-align:top;" headers="d60332e83 ">
              <p style="margin-bottom:0;">boolean</p>
            </td>

            <td data-label="Required" class="slds-cell-wrap" style="vertical-align:top;" headers="d60332e89 ">&nbsp;</td>

            <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d60332e95 ">
              <p style="margin-bottom:0;">To enable cell-level editing, set to true. To make specific cells editable, see Available <em>columns</em> Attributes.</p>
            </td>

          </tr>
          <tr class="">
            <td data-label="Attribute" class="slds-cell-wrap" style="vertical-align:top;" headers="d60332e71 ">
              <p style="margin-bottom:0;">group-order</p>
            </td>

            <td data-label="Value" class="slds-cell-wrap" style="vertical-align:top;" headers="d60332e77 ">
              <p style="margin-bottom:0;">asc, dsc</p>
            </td>

            <td data-label="Type" class="slds-cell-wrap" style="vertical-align:top;" headers="d60332e83 ">
              <p style="margin-bottom:0;">string</p>
            </td>

            <td data-label="Required" class="slds-cell-wrap" style="vertical-align:top;" headers="d60332e89 ">&nbsp;</td>

            <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d60332e95 ">
              <p style="margin-bottom:0;">Orders group in ascending or descending order.</p>
            </td>

          </tr>
          <tr class="">
            <td data-label="Attribute" class="slds-cell-wrap" style="vertical-align:top;" headers="d60332e71 ">
              <p style="margin-bottom:0;">hide-table-header</p>
            </td>

            <td data-label="Value" class="slds-cell-wrap" style="vertical-align:top;" headers="d60332e77 ">
              <p style="margin-bottom:0;">true, false (Default: false)</p>
            </td>

            <td data-label="Type" class="slds-cell-wrap" style="vertical-align:top;" headers="d60332e83 ">
              <p style="margin-bottom:0;">boolean</p>
            </td>

            <td data-label="Required" class="slds-cell-wrap" style="vertical-align:top;" headers="d60332e89 ">&nbsp;</td>

            <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d60332e95 ">
              <p style="margin-bottom:0;">To hide table header, set to true.</p>
            </td>

          </tr>
          <tr class="">
            <td data-label="Attribute" class="slds-cell-wrap" style="vertical-align:top;" headers="d60332e71 ">
              <p style="margin-bottom:0;">pagelimit</p>
            </td>

            <td data-label="Value" class="slds-cell-wrap" style="vertical-align:top;" headers="d60332e77 ">
              <p style="margin-bottom:0;">(Default: 3)</p>
            </td>

            <td data-label="Type" class="slds-cell-wrap" style="vertical-align:top;" headers="d60332e83 ">
              <p style="margin-bottom:0;">number</p>
            </td>

            <td data-label="Required" class="slds-cell-wrap" style="vertical-align:top;" headers="d60332e89 ">&nbsp;</td>

            <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d60332e95 ">
              <p style="margin-bottom:0;">Specifies how many page navigation links to add to pagination. The <em>pagesize</em> must be set.</p>
            </td>

          </tr>
          <tr class="">
            <td data-label="Attribute" class="slds-cell-wrap" style="vertical-align:top;" headers="d60332e71 ">
              <p style="margin-bottom:0;">draggable</p>
            </td>

            <td data-label="Value" class="slds-cell-wrap" style="vertical-align:top;" headers="d60332e77 ">
              <p style="margin-bottom:0;">true, false (Default: false)</p>
            </td>

            <td data-label="Type" class="slds-cell-wrap" style="vertical-align:top;" headers="d60332e83 ">
              <p style="margin-bottom:0;">boolean</p>
            </td>

            <td data-label="Required" class="slds-cell-wrap" style="vertical-align:top;" headers="d60332e89 ">&nbsp;</td>

            <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d60332e95 ">
              <p style="margin-bottom:0;">Specifies whether rows are draggable. The <code>onupdate</code> event is fired when a row is dragged and the order is updated. Inside the event handler get the updated data from <code>event.detail.result</code>.</p>
            </td>

          </tr>
          <tr class="">
            <td data-label="Attribute" class="slds-cell-wrap" style="vertical-align:top;" headers="d60332e71 ">
              <p style="margin-bottom:0;">row-delete</p>
            </td>

            <td data-label="Value" class="slds-cell-wrap" style="vertical-align:top;" headers="d60332e77 ">
              <p style="margin-bottom:0;">true, false (Default: false)</p>
            </td>

            <td data-label="Type" class="slds-cell-wrap" style="vertical-align:top;" headers="d60332e83 ">
              <p style="margin-bottom:0;">boolean</p>
            </td>

            <td data-label="Required" class="slds-cell-wrap" style="vertical-align:top;" headers="d60332e89 ">&nbsp;</td>

            <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d60332e95 ">
              <p style="margin-bottom:0;">Specifies whether each row includes a delete option. Once the row is deleted, it is removed from the table. The <code>ondelete</code> event is fired. Inside the event handler get the deleted data from <code>event.detail.result</code>.</p>
            </td>

          </tr>
          <tr class="">
            <td data-label="Attribute" class="slds-cell-wrap" style="vertical-align:top;" headers="d60332e71 ">
              <p style="margin-bottom:0;">user-selectable-row</p>
            </td>

            <td data-label="Value" class="slds-cell-wrap" style="vertical-align:top;" headers="d60332e77 ">
              <p style="margin-bottom:0;">true, false (Default: false)</p>
            </td>

            <td data-label="Type" class="slds-cell-wrap" style="vertical-align:top;" headers="d60332e83 ">
              <p style="margin-bottom:0;">boolean</p>
            </td>

            <td data-label="Required" class="slds-cell-wrap" style="vertical-align:top;" headers="d60332e89 ">&nbsp;</td>

            <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d60332e95 ">
              <p style="margin-bottom:0;">Specifies whether each row includes select
                option. Once the row is selected, <code>selectrow</code> event is fired. Inside the event handler get the
                selected data from <code>event.detail.result</code>. If all rows are selected <code>event.detail.result</code> will have "all" as
                value.</p>
            </td>

          </tr>
          <tr class="">
            <td data-label="Attribute" class="slds-cell-wrap" style="vertical-align:top;" headers="d60332e71 ">
              <p style="margin-bottom:0;">active-groups</p>
            </td>

            <td data-label="Value" class="slds-cell-wrap" style="vertical-align:top;" headers="d60332e77 ">
              <p style="margin-bottom:0;">true, false (Default: true)</p>
            </td>

            <td data-label="Type" class="slds-cell-wrap" style="vertical-align:top;" headers="d60332e83 ">
              <p style="margin-bottom:0;">boolean</p>
            </td>

            <td data-label="Required" class="slds-cell-wrap" style="vertical-align:top;" headers="d60332e89 ">&nbsp;</td>

            <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d60332e95 ">
              <p style="margin-bottom:0;">Specifies whether groups are expanded or collapsed. Valid only for datatables with group-by</p>
            </td>

          </tr>
          <tr class="">
            <td data-label="Attribute" class="slds-cell-wrap" style="vertical-align:top;" headers="d60332e71 ">
              <p style="margin-bottom:0;">groupNameWrapperClass</p>
            </td>

            <td data-label="Value" class="slds-cell-wrap" style="vertical-align:top;" headers="d60332e77 ">
              <p style="margin-bottom:0;">JSON</p>
            </td>

            <td data-label="Type" class="slds-cell-wrap" style="vertical-align:top;" headers="d60332e83 ">
              <p style="margin-bottom:0;">object</p>
            </td>

            <td data-label="Required" class="slds-cell-wrap" style="vertical-align:top;" headers="d60332e89 ">&nbsp;</td>

            <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d60332e95 ">
              <p style="margin-bottom:0;">additional styles for group header in group-by table.</p>
            </td>

          </tr>
          <tr class="">
            <td data-label="Attribute" class="slds-cell-wrap" style="vertical-align:top;" headers="d60332e71 ">
              <p style="margin-bottom:0;">hideExtraColumn</p>
            </td>

            <td data-label="Value" class="slds-cell-wrap" style="vertical-align:top;" headers="d60332e77 ">
              <p style="margin-bottom:0;">true, false (Default: false)</p>
            </td>

            <td data-label="Type" class="slds-cell-wrap" style="vertical-align:top;" headers="d60332e83 ">
              <p style="margin-bottom:0;">boolean</p>
            </td>

            <td data-label="Required" class="slds-cell-wrap" style="vertical-align:top;" headers="d60332e89 ">
              <p style="margin-bottom:0;">&nbsp;</p>
            </td>

            <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d60332e95 ">
              <p style="margin-bottom:0;">Valid only for datatable with group by. Enable to prevent the space below and above the grouped name. Hides group by on the first column and draggable.</p>
            </td>

          </tr>
          <tr class="">
            <td data-label="Attribute" class="slds-cell-wrap" style="vertical-align:top;" headers="d60332e71 ">
              <p style="margin-bottom:0;">confirmdeleterow</p>
            </td>

            <td data-label="Value" class="slds-cell-wrap" style="vertical-align:top;" headers="d60332e77 ">
              <p style="margin-bottom:0;">true, false (Default: false)</p>
            </td>

            <td data-label="Type" class="slds-cell-wrap" style="vertical-align:top;" headers="d60332e83 ">
              <p style="margin-bottom:0;">boolean</p>
            </td>

            <td data-label="Required" class="slds-cell-wrap" style="vertical-align:top;" headers="d60332e89 ">&nbsp;</td>

            <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d60332e95 ">
              <p style="margin-bottom:0;">Enables the user to show the delete confirmation prompt when deleting a row from the table.</p>
            </td>

          </tr>
          <tr class="">
            <td data-label="Attribute" class="slds-cell-wrap" style="vertical-align:top;" headers="d60332e71 ">
              <p style="margin-bottom:0;">sortAcrossGroups</p>
            </td>

            <td data-label="Value" class="slds-cell-wrap" style="vertical-align:top;" headers="d60332e77 ">
              <p style="margin-bottom:0;">true, false (Default: false)</p>
            </td>

            <td data-label="Type" class="slds-cell-wrap" style="vertical-align:top;" headers="d60332e83 ">
              <p style="margin-bottom:0;">boolean</p>
            </td>

            <td data-label="Required" class="slds-cell-wrap" style="vertical-align:top;" headers="d60332e89 ">&nbsp;</td>

            <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d60332e95 ">
              <p style="margin-bottom:0;">Valid only for grouped datatable. Enables user to sort based on the group name.</p>
            </td>

          </tr>
          <tr class="">
            <td data-label="Attribute" class="slds-cell-wrap" style="vertical-align:top;" headers="d60332e71 ">
              <p style="margin-bottom:0;">fireeventOnDeleteconfirm</p>
            </td>

            <td data-label="Value" class="slds-cell-wrap" style="vertical-align:top;" headers="d60332e77 ">
              <p style="margin-bottom:0;">true, false (Default: false)</p>
            </td>

            <td data-label="Type" class="slds-cell-wrap" style="vertical-align:top;" headers="d60332e83 ">
              <p style="margin-bottom:0;">boolean</p>
            </td>

            <td data-label="Required" class="slds-cell-wrap" style="vertical-align:top;" headers="d60332e89 ">&nbsp;</td>

            <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d60332e95 ">
              <p style="margin-bottom:0;">Valid when <code>confirmdeleterow</code> is true . When true, the row will not be deleted from the datatable. It will only fire the event with the data to be deleted. Once the delete is confirmed, the <code>deleteconfirm</code> event is fired. Inside the event handler get the row to be deleted from <code>event.detail.result</code>.</p>
            </td>

          </tr>
          <tr class="">
            <td data-label="Attribute" class="slds-cell-wrap" style="vertical-align:top;" headers="d60332e71 ">
              <p style="margin-bottom:0;">styles</p>
            </td>

            <td data-label="Value" class="slds-cell-wrap" style="vertical-align:top;" headers="d60332e77 ">&nbsp;</td>

            <td data-label="Type" class="slds-cell-wrap" style="vertical-align:top;" headers="d60332e83 ">
              <p style="margin-bottom:0;">Object</p>
            </td>

            <td data-label="Required" class="slds-cell-wrap" style="vertical-align:top;" headers="d60332e89 ">&nbsp;</td>

            <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d60332e95 ">
              <p style="margin-bottom:0;">A style object to use for element specific styling.</p>
            </td>

          </tr>
          <tr class="">
            <td data-label="Attribute" class="slds-cell-wrap" style="vertical-align:top;" headers="d60332e71 ">
              <p style="margin-bottom:0;">tablename</p>
            </td>

            <td data-label="Value" class="slds-cell-wrap" style="vertical-align:top;" headers="d60332e77 ">
              <p style="margin-bottom:0;">(Default: Data table)</p>
            </td>

            <td data-label="Type" class="slds-cell-wrap" style="vertical-align:top;" headers="d60332e83 ">
              <p style="margin-bottom:0;">string</p>
            </td>

            <td data-label="Required" class="slds-cell-wrap" style="vertical-align:top;" headers="d60332e89 ">&nbsp;</td>

            <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d60332e95 ">
              <p style="margin-bottom:0;">Assigns aria-label to the pagination section for accessibility users.</p>
            </td>

          </tr>
        </tbody>
      </table>

## Example c-data-table Component

```
<c-data-table
  extraclass="slds-table_bordered"
  headerclass="slds-text-title_caps"
  issearchavailable="true"
  issortavailable="true"
  theme="{theme}"
  icon-url="{iconUrl}"
  group-by="company"
  pagesize="4"
  onupdate="{tableDataUpdated}"
  row-level-edit="true"
  user-selectable-column="true"
  columns="{columns}"
  records="{tableData}"
  styles="{styles}"
>
</c-data-table>
```

## Example of styles object

```
styles = {
  showGroupedHeaderAsAnchor: true, // used to show the group table header as anchor tag
  columnHeaderCaps: true // used to capitalize the table columns header fields
};
```

## Example data JSON

```
[{
    "email": "jsolitas@motorsrus.com",
    "company": "Motors R Us",
    "age": "44",
    "balance": "$11,500",
    "address": "846 Livonia Avenue, Siglerville, Maryland, 5503",
    "isActive": true
  },
  {
    "email": "robasanjo@treeline.org",
    "company": "TreeLine Group",
    "age": "32",
    "balance": "$9,678",
    "address": "902 Myrtle Avenue, Rockhill, Delaware, 3863",
    "isActive": true
  },
  {
    "email": "n-daily@dailys.com",
    "company": "Daily Corp",
    "age": "57",
    "balance": "$22,888",
    "address": "408 Aster Court, Riceville, Indiana, 9646",
    "isActive": false
  },
  {
    "email": "g-gomez@dailys.com",
    "company": "Daily Corp",
    "age": "44",
    "balance": "$6,983",
    "address": "856 Benson Avenue, Ballico, North Carolina, 4930",
    "isActive": true
  }
];
```

## Available columns Attributes

<table class="slds-table slds-table_bordered slds-max-medium-table_stacked slds-m-bottom_small ">
        <colgroup>
          <col>
          <col>
          <col>
          <col>
          <col>
        </colgroup>
        <thead class="slds-text-title_caps ">
          <tr class="">
            <th scope="col" class="slds-cell-wrap" style="vertical-align:top;" id="d60332e1001">
              <p style="margin-bottom:0;">Attribute</p>
            </th>
            <th scope="col" class="slds-cell-wrap" style="vertical-align:top;" id="d60332e1007">
              <p style="margin-bottom:0;">Value</p>
            </th>
            <th scope="col" class="slds-cell-wrap" style="vertical-align:top;" id="d60332e1013">
              <p style="margin-bottom:0;">Type</p>
            </th>
            <th scope="col" class="slds-cell-wrap" style="vertical-align:top;" id="d60332e1019">
              <p style="margin-bottom:0;">Required</p>
            </th>
            <th scope="col" class="slds-cell-wrap" style="vertical-align:top;" id="d60332e1025">
              <p style="margin-bottom:0;">Description</p>
            </th>
          </tr>
        </thead>
        <tbody>
          <tr class="">
            <td data-label="Attribute" class="slds-cell-wrap" style="vertical-align:top;" headers="d60332e1001 ">
              <p style="margin-bottom:0;">editable</p>
            </td>

            <td data-label="Value" class="slds-cell-wrap" style="vertical-align:top;" headers="d60332e1007 ">
              <p style="margin-bottom:0;">true, false (Default: false)</p>
            </td>

            <td data-label="Type" class="slds-cell-wrap" style="vertical-align:top;" headers="d60332e1013 ">
              <p style="margin-bottom:0;">boolean</p>
            </td>

            <td data-label="Required" class="slds-cell-wrap" style="vertical-align:top;" headers="d60332e1019 ">&nbsp;</td>

            <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d60332e1025 ">
              <p style="margin-bottom:0;">Specifies whether column is editable.</p>
            </td>

          </tr>
          <tr class="">
            <td data-label="Attribute" class="slds-cell-wrap" style="vertical-align:top;" headers="d60332e1001 ">
              <p style="margin-bottom:0;">fieldName</p>
            </td>

            <td data-label="Value" class="slds-cell-wrap" style="vertical-align:top;" headers="d60332e1007 ">&nbsp;</td>

            <td data-label="Type" class="slds-cell-wrap" style="vertical-align:top;" headers="d60332e1013 ">
              <p style="margin-bottom:0;">string</p>
            </td>

            <td data-label="Required" class="slds-cell-wrap" style="vertical-align:top;" headers="d60332e1019 ">
              <p style="margin-bottom:0;">yes</p>
            </td>

            <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d60332e1025 ">
              <p style="margin-bottom:0;">Gets the key for the column from the <u>data</u> JSON.</p>
            </td>

          </tr>
          <tr class="">
            <td data-label="Attribute" class="slds-cell-wrap" style="vertical-align:top;" headers="d60332e1001 ">
              <p style="margin-bottom:0;">label</p>
            </td>

            <td data-label="Value" class="slds-cell-wrap" style="vertical-align:top;" headers="d60332e1007 ">&nbsp;</td>

            <td data-label="Type" class="slds-cell-wrap" style="vertical-align:top;" headers="d60332e1013 ">
              <p style="margin-bottom:0;">string</p>
            </td>

            <td data-label="Required" class="slds-cell-wrap" style="vertical-align:top;" headers="d60332e1019 ">
              <p style="margin-bottom:0;">yes</p>
            </td>

            <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d60332e1025 ">
              <p style="margin-bottom:0;">Sets the visible name of the column heading.</p>
            </td>

          </tr>
          <tr class="">
            <td data-label="Attribute" class="slds-cell-wrap" style="vertical-align:top;" headers="d60332e1001 ">
              <p style="margin-bottom:0;">searchable</p>
            </td>

            <td data-label="Value" class="slds-cell-wrap" style="vertical-align:top;" headers="d60332e1007 ">
              <p style="margin-bottom:0;">true, false (Default: false)</p>
            </td>

            <td data-label="Type" class="slds-cell-wrap" style="vertical-align:top;" headers="d60332e1013 ">
              <p style="margin-bottom:0;">boolean</p>
            </td>

            <td data-label="Required" class="slds-cell-wrap" style="vertical-align:top;" headers="d60332e1019 ">&nbsp;</td>

            <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d60332e1025 ">
              <p style="margin-bottom:0;">To enable the ability to search column values, set to true.</p>
            </td>

          </tr>
          <tr class="">
            <td data-label="Attribute" class="slds-cell-wrap" style="vertical-align:top;" headers="d60332e1001 ">
              <p style="margin-bottom:0;">sortable</p>
            </td>

            <td data-label="Value" class="slds-cell-wrap" style="vertical-align:top;" headers="d60332e1007 ">
              <p style="margin-bottom:0;">true, false (Default: false)</p>
            </td>

            <td data-label="Type" class="slds-cell-wrap" style="vertical-align:top;" headers="d60332e1013 ">
              <p style="margin-bottom:0;">boolean</p>
            </td>

            <td data-label="Required" class="slds-cell-wrap" style="vertical-align:top;" headers="d60332e1019 ">&nbsp;</td>

            <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d60332e1025 ">
              <p style="margin-bottom:0;">To enable column sorting, set to true. On hover of column heading, a sorting icon displays next to the column name.</p>
            </td>

          </tr>
          <tr class="">
            <td data-label="Attribute" class="slds-cell-wrap" style="vertical-align:top;" headers="d60332e1001 ">
              <p style="margin-bottom:0;">type</p>
            </td>

            <td data-label="Value" class="slds-cell-wrap" style="vertical-align:top;" headers="d60332e1007 ">
              <p style="margin-bottom:0;">currency, date, datetime percent, number, text, email, textarea, url, checkbox,icon (Default: text)</p>
            </td>

            <td data-label="Type" class="slds-cell-wrap" style="vertical-align:top;" headers="d60332e1013 ">
              <p style="margin-bottom:0;">string</p>
            </td>

            <td data-label="Required" class="slds-cell-wrap" style="vertical-align:top;" headers="d60332e1019 ">&nbsp;</td>

            <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d60332e1025 ">
              <p style="margin-bottom:0;">Specifies the type of value column holds. checkbox and icon both used for boolean values. Whereas icon type is used to show the value as a check icon.</p>
            </td>

          </tr>
          <tr class="">
            <td data-label="Attribute" class="slds-cell-wrap" style="vertical-align:top;" headers="d60332e1001 ">
              <p style="margin-bottom:0;">userSelectable</p>
            </td>

            <td data-label="Value" class="slds-cell-wrap" style="vertical-align:top;" headers="d60332e1007 ">
              <p style="margin-bottom:0;">true, false (Default: false)</p>
            </td>

            <td data-label="Type" class="slds-cell-wrap" style="vertical-align:top;" headers="d60332e1013 ">
              <p style="margin-bottom:0;">boolean</p>
            </td>

            <td data-label="Required" class="slds-cell-wrap" style="vertical-align:top;" headers="d60332e1019 ">&nbsp;</td>

            <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d60332e1025 ">
              <p style="margin-bottom:0;">If set to true, enables user to choose if column is visible.</p>
            </td>

          </tr>
          <tr class="">
            <td data-label="Attribute" class="slds-cell-wrap" style="vertical-align:top;" headers="d60332e1001 ">
              <p style="margin-bottom:0;">visible</p>
            </td>

            <td data-label="Value" class="slds-cell-wrap" style="vertical-align:top;" headers="d60332e1007 ">
              <p style="margin-bottom:0;">true, false (Default: true)</p>
            </td>

            <td data-label="Type" class="slds-cell-wrap" style="vertical-align:top;" headers="d60332e1013 ">
              <p style="margin-bottom:0;">boolean</p>
            </td>

            <td data-label="Required" class="slds-cell-wrap" style="vertical-align:top;" headers="d60332e1019 ">&nbsp;</td>

            <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d60332e1025 ">
              <p style="margin-bottom:0;">To hide the column, set to false. If set to false and <u>userSelectable</u> is set to true, user can make column visible.</p>
            </td>

          </tr>
          <tr class="">
            <td data-label="Attribute" class="slds-cell-wrap" style="vertical-align:top;" headers="d60332e1001 ">
              <p style="margin-bottom:0;">format</p>
            </td>

            <td data-label="Value" class="slds-cell-wrap" style="vertical-align:top;" headers="d60332e1007 ">
              <p style="margin-bottom:0;">date formats (Default: YYYY-MM-DD)</p>
            </td>

            <td data-label="Type" class="slds-cell-wrap" style="vertical-align:top;" headers="d60332e1013 ">
              <p style="margin-bottom:0;">string</p>
            </td>

            <td data-label="Required" class="slds-cell-wrap" style="vertical-align:top;" headers="d60332e1019 ">&nbsp;</td>

            <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d60332e1025 ">
              <p style="margin-bottom:0;">Sets the date format. Required only if field <code>type</code> is "date" or "datetime".</p>
            </td>

          </tr>
          <tr class="">
            <td data-label="Attribute" class="slds-cell-wrap" style="vertical-align:top;" headers="d60332e1001 ">
              <p style="margin-bottom:0;">preventNavigation</p>
            </td>

            <td data-label="Value" class="slds-cell-wrap" style="vertical-align:top;" headers="d60332e1007 ">
              <p style="margin-bottom:0;">true, false (Default: false)</p>
            </td>

            <td data-label="Type" class="slds-cell-wrap" style="vertical-align:top;" headers="d60332e1013 ">
              <p style="margin-bottom:0;">boolean</p>
            </td>

            <td data-label="Required" class="slds-cell-wrap" style="vertical-align:top;" headers="d60332e1019 ">&nbsp;</td>

            <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d60332e1025 ">
              <p style="margin-bottom:0;">Prevents default navigation. Required only if field <code>type</code> is "url".</p>
            </td>

          </tr>
        </tbody>
      </table>

## Example columns JSON

```
[{
    "fieldName": "company",
    "label": "Company",
    "sortable": true,
    "searchable": true
  },
  {
    "fieldName": "email",
    "label": "Email",
    "sortable": true,
    "searchable": true,
    "type": "email",
    "editable": true,
    "userSelectable": true
  },
  {
    "fieldName": "age",
    "label": "Age",
    "sortable": true,
    "type": "number",
    "editable": true,
    "userSelectable": true
  },
  {
    "fieldName": "balance",
    "label": "Balance",
    "sortable": true,
    "userSelectable": true
  },
  {
    "fieldName": "address",
    "label": "Address",
    "sortable": false,
    "type": "textarea",
    "editable": true,
    "userSelectable": true
  },
  {
    "fieldName": "isActive",
    "label": "Active",
    "sortable": false,
    "type": "checkbox",
    "editable": true
  }
  ];
```

## Available group-by Attributes

<table class="slds-table slds-table_bordered slds-max-medium-table_stacked slds-m-bottom_small ">
        <colgroup>
          <col>
          <col>
          <col>
          <col>
          <col>
        </colgroup>
        <thead class="slds-text-title_caps ">
          <tr class="">
            <th scope="col" class="slds-cell-wrap" style="vertical-align:top;" id="d60332e1375">
              <p style="margin-bottom:0;">Attribute</p>
            </th>
            <th scope="col" class="slds-cell-wrap" style="vertical-align:top;" id="d60332e1381">
              <p style="margin-bottom:0;">Value</p>
            </th>
            <th scope="col" class="slds-cell-wrap" style="vertical-align:top;" id="d60332e1387">
              <p style="margin-bottom:0;">Type</p>
            </th>
            <th scope="col" class="slds-cell-wrap" style="vertical-align:top;" id="d60332e1393">
              <p style="margin-bottom:0;">Required</p>
            </th>
            <th scope="col" class="slds-cell-wrap" style="vertical-align:top;" id="d60332e1399">
              <p style="margin-bottom:0;">Description</p>
            </th>
          </tr>
        </thead>
        <tbody>
          <tr class="">
            <td data-label="Attribute" class="slds-cell-wrap" style="vertical-align:top;" headers="d60332e1375 ">
              <p style="margin-bottom:0;">fields</p>
            </td>

            <td data-label="Value" class="slds-cell-wrap" style="vertical-align:top;" headers="d60332e1381 ">
              <p style="margin-bottom:0;">list</p>
            </td>

            <td data-label="Type" class="slds-cell-wrap" style="vertical-align:top;" headers="d60332e1387 ">
              <p style="margin-bottom:0;">array</p>
            </td>

            <td data-label="Required" class="slds-cell-wrap" style="vertical-align:top;" headers="d60332e1393 ">&nbsp;</td>

            <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d60332e1399 ">
              <p style="margin-bottom:0;">Sets group header description for every visible row after grouping. Each object takes a field name that has its own group desciption, which by default is the sum of all selected field from all the records. To get group description using a custom function, pass function to <u>methodToCalculateSummary</u>, which takes 'groupItems' as an argument. For example, <code>nameOfFunction(groupItems){}</code>.</p>
            </td>

          </tr>
          <tr class="">
            <td data-label="Attribute" class="slds-cell-wrap" style="vertical-align:top;" headers="d60332e1375 ">
              <p style="margin-bottom:0;">sortFieldName</p>
            </td>

            <td data-label="Value" class="slds-cell-wrap" style="vertical-align:top;" headers="d60332e1381 ">&nbsp;</td>

            <td data-label="Type" class="slds-cell-wrap" style="vertical-align:top;" headers="d60332e1387 ">
              <p style="margin-bottom:0;">string</p>
            </td>

            <td data-label="Required" class="slds-cell-wrap" style="vertical-align:top;" headers="d60332e1393 ">
              <p style="margin-bottom:0;">no</p>
            </td>

            <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d60332e1399 ">
              <p style="margin-bottom:0;">Field Name Inside grouped items to be sorted</p>
            </td>

          </tr>
        </tbody>
      </table>

## Example group-by JSON

```
{
    "groupFieldName": "company",
    "fields": [
      {
        "name": "balance",
        "methodToCalculateSummary": ""
      }
    ]
  };
```

## Available Event Listeners

onupdate

Triggers when table data changes.

ondelete

Triggers when a table row is deleted.

onrowclick

Triggers when a row is clicked and includes the record on which the click happens. Is inside `event.detail.result`. `event.detail.fieldName` will give the name of the field from where event was triggered.

## Adding Custom Column UI

To add a custom column specify each column inside a dataTable and add the relevant column inside the data table element.

Note: The element inside the dataTable is either a dataTableCell or an extended LWC of the dataTableCell. The display order is the same as the order of the dataTableCell HTML in the slot.

## Required Column Attributes

<table class="slds-table slds-table_bordered slds-max-medium-table_stacked slds-m-bottom_small ">
        <colgroup>
          <col>
          <col>
        </colgroup>
        <thead class="slds-text-title_caps ">
          <tr class="">
            <th scope="col" class="slds-cell-wrap" style="vertical-align:top;" id="d60332e1548">
              <p style="margin-bottom:0;">Attribute</p>
            </th>
            <th scope="col" class="slds-cell-wrap" style="vertical-align:top;" id="d60332e1554">
              <p style="margin-bottom:0;">Description</p>
            </th>
          </tr>
        </thead>
        <tbody>
          <tr class="">
            <td data-label="Attribute" class="slds-cell-wrap" style="vertical-align:top;" headers="d60332e1548 ">
              <p style="margin-bottom:0;">data-field-name</p>
            </td>

            <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d60332e1554 ">
              <p style="margin-bottom:0;">This is the same field name specified inside columns array.</p>
            </td>

          </tr>
          <tr class="">
            <td data-label="Attribute" class="slds-cell-wrap" style="vertical-align:top;" headers="d60332e1548 ">
              <p style="margin-bottom:0;">class</p>
            </td>

            <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d60332e1554 ">
              <p style="margin-bottom:0;">To define the column as a column UI, add a dataTableCell class.</p>
            </td>

          </tr>
        </tbody>
      </table>

## Column Data

NOTE: To customize one column you must specify all the columns inside the dataTable. If you do not want to customize any column then leave dataTable empty.

<table class="slds-table slds-table_bordered slds-max-medium-table_stacked slds-m-bottom_small ">
        <colgroup>
          <col>
          <col>
        </colgroup>
        <thead class="slds-text-title_caps ">
          <tr class="">
            <th scope="col" class="slds-cell-wrap" style="vertical-align:top;" id="d60332e1616">
              <p style="margin-bottom:0;">Data</p>
            </th>
            <th scope="col" class="slds-cell-wrap" style="vertical-align:top;" id="d60332e1622">
              <p style="margin-bottom:0;">Description</p>
            </th>
          </tr>
        </thead>
        <tbody>
          <tr class="">
            <td data-label="Data" class="slds-cell-wrap" style="vertical-align:top;" headers="d60332e1616 ">
              <p style="margin-bottom:0;">cellData</p>
            </td>

            <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d60332e1622 ">
              <p style="margin-bottom:0;">Contains the column cell data. For example, if this column field name is "email", this variable will contain related data to that field name. You can read it with <code>cellData.value</code>.</p>
            </td>

          </tr>
          <tr class="">
            <td data-label="Data" class="slds-cell-wrap" style="vertical-align:top;" headers="d60332e1616 ">
              <p style="margin-bottom:0;">rowData</p>
            </td>

            <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d60332e1622 ">
              <p style="margin-bottom:0;">Contains complete row data from one single record, which can be used to show more data as well.</p>
            </td>

          </tr>
          <tr class="">
            <td data-label="Data" class="slds-cell-wrap" style="vertical-align:top;" headers="d60332e1616 ">
              <p style="margin-bottom:0;">columnData</p>
            </td>

            <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d60332e1622 ">
              <p style="margin-bottom:0;">Contains the metadata from columns json.</p>
            </td>

          </tr>
        </tbody>
      </table>

NOTE: GROUP BY tables does not support custom column UI.

## Example customDataTableCell

DataTableCell or an extend LWC of a DataTableCell are supported inside the data table.

```
<c-data-table
  extraclass="slds-table_bordered"
  issearchavailable="true"
  issortavailable="true"
  theme="{theme}"
  icon-url="{iconUrl}"
  draggable="true"
  columns="{columns}"
  records="{tableData}"
  onupdate="{tableUpdateHandler}"
  ondelete="{tableUpdateHandler}"
  row-delete="true"
>
  <c-customDataTableCell data-field-name="email" class="dataTableCell">
  </c-customDataTableCell>
  <c-data-table-cell data-field-name="age" class="dataTableCell">
  </c-data-table-cell>
  <c-data-table-cell data-field-name="balance" class="dataTableCell">
  </c-data-table-cell>
  <c-data-table-cell data-field-name="address" class="dataTableCell">
  </c-data-table-cell>
  <c-data-table-cell data-field-name="isActive" class="dataTableCell">
  </c-data-table-cell>
  <c-data-table-cell data-field-name="phone" class="dataTableCell">
  </c-data-table-cell>
</c-data-table>
```

## Column Required Attributes

a) data-field-name : This is the same field name specified inside columns array.

b) class : Add a dataTableCell class to treated it as a column UI.

## Data Inside the Extended Component

a) cellData : The column cell data. For example, if this column field name is "email", this variable comtains related data for that field name. Read it by "cellData.value".

b) rowData: Contains complete row data as one single record and can also be used to show more data.

c) columnData: Contains metadata for what you pass inside `columns` JSON.

NOTE: To customize one column, you must specify all the columns inside the data table. If you don't want to customize any column, leave the data table empty.

NOTE: Custom column UI support is not available in GROUP BY tables.

## Example customDataTableCell

```
<template>
  <div if:true="{cellData}" class="tableRowCell">
    <!--Start your custom content from here-->
    {cellData.value} : <br />{rowData.phone}
    <button onclick="{toggleText}">Toggle</button>
    <div if:true="{hiddenText}">
      {cellData.value}
    </div>
  </div>
</template>
```

```
import { track } from "lwc";
import dataTableCell from "c/dataTableCell";
export default class DataTableCellExtended extends dataTableCell {
  @track hiddenText = false;

  toggleText() {
    this.hiddenText = !this.hiddenText;
  }
}
```

```
.tableRowCell {
  display: table-cell;
  padding: 0.25rem 0.5rem;
  white-space: nowrap;
  position: relative;
}

.tableRowCell:first {
  border: 0;
}
```

- **[DataTable Lightning Web Component ReadMe Summer '20 (Managed Package)](https://help.salesforce.com/s/articleView?id=xcloud.os_datatable_lightning_web_component_readme_summer20.htm&release=264.0.0&type=5)**  
    For the managed package runtime, this page contains the DataTable LWC ReadMe as of the Vlocity Insurance and Health Summer '20 release.
- **[DataTable Lightning Web Component ReadMe CME Spring '20 (Managed Package)](https://help.salesforce.com/s/articleView?id=xcloud.os_datatable_lightning_web_component_readme_cme_spring20.htm&release=264.0.0&type=5)**  
    For the managed package runtime, this page contains the DataTable LWC Readme as of the Vlocity CME Spring '20 release.
- **[Datatable Lightning Web Component ReadMe Winter '20 (Managed Package)](https://help.salesforce.com/s/articleView?id=xcloud.os_datatable_lightning_web_component_readme_winter20.htm&release=264.0.0&type=5)**  
    For the managed package runtime, this page contains the DataTable LWC ReadMe as of the Vlocity Insurance and Health Winter '20 release.
- **[Datatable Lightning Web Component ReadMe Summer '19 (Managed Package)](https://help.salesforce.com/s/articleView?id=xcloud.os_datatable_lightning_web_component_readme_summer19.htm&release=264.0.0&type=5)**  
    For the managed package runtime, this page contains the DataTable LWC ReadMe as of the Vlocity Insurance and Health Summer '19 release.