Sorting
Sort table data by column to organize and prioritize information.
Example
Id
Name
Category
Price Retail
Status
1
Generic Cotton Gloves
Electronics
503.84
low-stock
2
Handmade Cotton Chair
Beauty
215.22
low-stock
3
Sleek Silk Fish
Beauty
16.52
in-stock
4
Fantastic Silk Cheese
Sports
431.84
in-stock
5
Unbranded Concrete Soap
Sports
183.1
in-stock
6
Handcrafted Wooden Ball
Sports
151.93
low-stock
7
Incredible Rubber Table
Clothing
49.5
in-stock
8
Tasty Plastic Pizza
Electronics
647.13
in-stock
9
Handmade Rubber Salad
Clothing
237.22
in-stock
10
Practical Wooden Sausages
Beauty
230.67
in-stock
Per page:
Page 1 of 100
Showing
1
to
10
of 1000 rows
{#each datagrid.columns.getLeafColumnsInOrder() as column}
{@render LeafHeader(column)}
{/each}
{#each datagrid.rows.getPaginatedRows() as row}
{#if !row.isGroupRow()}
{#each datagrid.columns.getLeafColumnsInOrder() as column}
{@render RenderBodyCell(column, row)}
{/each}
{:else}{/if}
{/each}
{getCellContent(column, row.original)}
{/if}
{/snippet}
{#snippet LeafHeader(column: LeafColumn)}
{#if column.isVisible()}
datagrid.handlers.sorting.toggleColumnSort(column, e.ctrlKey)}
class={cn(
'th flex min-w-40 max-w-40 items-center justify-between gap-2 px-4 py-2',
column._meta.grow && '!max-w-full !grow',
column.isSortable() && 'cursor-pointer'
)}
style:--width={column.state.size.width + 'px'}
style:--min-width={column.state.size.minWidth + 'px'}
style:--max-width={column.state.size.maxWidth + 'px'}
>
{/if}
{/snippet}
{column.header}
{#if column.isSortable()}
{/if}