# [Usage](../../../../usage.md) > [Components](../../basics.md) > [Visuals](../../basics.md) > [Table](../table.md) > hideable columns

### `hideableColumns` | `->setHideableColumns()`
Enables a button that let the user hide some columns from the table.

| Types     | Default |
|-----------|---------|
| `boolean` | `false` |

What it does: adds a column-visibility button so the user can show/hide columns at runtime. It is purely presentational: the underlying `values` (static) or `query` (dynamic) are unchanged, and exports still use the visible column set sent as `columnsdata`. Works for static and dynamic tables.

Minimal working example — Blade:
```php
{!!
    \KFramework\Components\Visual\Table::make()
        ->setSchema([
            \KFramework\Components\Visual\TableColumn::make('name')->setLabel('Name'),
            \KFramework\Components\Visual\TableColumn::make('internal_code')->setLabel('Code'),
        ])
        ->setQuery($usersQuery)
        ->setHideableColumns()
!!}
```
Controller:
```php
Table::make()
    ->setSchema([TableColumn::make('name')->setLabel('Name')])
    ->setQuery(User::query())
    ->setHideableColumns();
```
What the user sees: a "columns" toggle listing every column with checkboxes; unticked columns disappear instantly.

Interaction:
- Pairs with [orderable columns](table_orderablecolumns.md): hide rarely used columns, drag the rest into the preferred order.
- Combine with [selectable schema](table_selectableschema.md) or [buttons](table_buttons.md): action columns stay visible while data columns are hidden.
- Hidden columns are excluded from the export payload (`columnsdata`), like [downloadable](table_downloadable.md).

See also: [Table](../table.md), [Components basics](../../basics.md), [orderable columns](table_orderablecolumns.md), [downloadable](table_downloadable.md).