# Mito vs. Other Dash Components

## Which Grid Should I Use for My Use Case?

1. If you're looking to allow users to perform spreadsheet operations on their data, **Mito** is a good choice. This includes formulas like SUM/VLOOKUP, pivot tables, and graphing.&#x20;
2. If you want to *record* user edits and automate data work, **Mito** is a good choice. Mito records all user edits to your dataframes as a Python script, and then replays edits on new datasets.
3. If you're looking for advanced visual customization (with CSS and JavaScript), **AgGrid** is a good choice. This includes complete color customization, row width customization, and more.
4. If you're for a solid, simple, static layout of data, and you're looking to just use core packages, **Dash Table** is a good choice.

## Functionality Supported by These Component:

<table data-full-width="true"><thead><tr><th width="242.33333333333331"></th><th width="238">Dash Table</th><th>Dash AgGrid</th><th>Mito for Dash</th></tr></thead><tbody><tr><td><strong>Exploration Features</strong></td><td></td><td></td><td></td></tr><tr><td>Sorting</td><td><mark style="color:green;">Yes</mark></td><td><mark style="color:green;">Yes</mark></td><td><mark style="color:green;">Yes</mark></td></tr><tr><td>Column Resizing</td><td><mark style="color:red;">No</mark></td><td><mark style="color:green;">Yes</mark></td><td><mark style="color:green;">Yes</mark></td></tr><tr><td>Search</td><td><mark style="color:red;">No</mark></td><td><mark style="color:red;">No</mark></td><td><mark style="color:green;">Yes</mark></td></tr><tr><td>Filtering</td><td><mark style="color:yellow;">Limited by default</mark></td><td><mark style="color:yellow;">Limited by default</mark></td><td><mark style="color:green;">Yes</mark></td></tr><tr><td>Toggle Filter</td><td><mark style="color:red;">No</mark></td><td><mark style="color:yellow;">Enterprise-only</mark></td><td><mark style="color:green;">Yes</mark></td></tr><tr><td>Conditional Formatting</td><td><mark style="color:yellow;">Programmatically, CSS/JS</mark></td><td><mark style="color:yellow;">Programmatically, Python</mark></td><td><mark style="color:yellow;">By grid end-user</mark></td></tr><tr><td>Graphing</td><td><mark style="color:red;">No</mark></td><td><mark style="color:yellow;">Enterprise-only</mark></td><td><mark style="color:green;">Yes, Plotly charts</mark></td></tr><tr><td>Pivot Tables</td><td><mark style="color:red;">No</mark></td><td><mark style="color:yellow;">Enterprise-only</mark></td><td><mark style="color:green;">Yes</mark></td></tr><tr><td></td><td></td><td></td><td></td></tr><tr><td><strong>Editing Features</strong></td><td></td><td></td><td></td></tr><tr><td>Edit Specific Cells</td><td><mark style="color:green;">Yes</mark></td><td><mark style="color:green;">Yes</mark></td><td><mark style="color:green;">Yes</mark></td></tr><tr><td>Reorder rows</td><td><mark style="color:red;">No</mark></td><td><mark style="color:green;">Yes</mark></td><td><mark style="color:red;">No</mark></td></tr><tr><td>Excel-like Formulas</td><td><mark style="color:red;">No</mark></td><td><mark style="color:red;">No</mark></td><td><mark style="color:green;">Yes</mark></td></tr><tr><td>Import from XLSX</td><td><mark style="color:red;">No</mark></td><td><mark style="color:red;">No</mark></td><td><mark style="color:green;">Yes</mark></td></tr><tr><td>Import from CSV</td><td><mark style="color:red;">No</mark></td><td><mark style="color:red;">No</mark></td><td><mark style="color:green;">Yes</mark></td></tr><tr><td>Import from Snowflake</td><td><mark style="color:red;">No</mark></td><td><mark style="color:red;">No</mark></td><td><mark style="color:yellow;">Enterprise-only</mark></td></tr><tr><td>AI Transformation</td><td><mark style="color:red;">No</mark></td><td><mark style="color:red;">No</mark></td><td><mark style="color:green;">Yes</mark></td></tr><tr><td>Export to CSV</td><td><mark style="color:red;">No</mark></td><td><mark style="color:green;">Yes</mark></td><td><mark style="color:green;">Yes</mark></td></tr><tr><td>Export to XLSX</td><td><mark style="color:red;">No</mark></td><td><mark style="color:yellow;">Enterprise-only</mark></td><td><mark style="color:green;">Yes</mark></td></tr><tr><td></td><td></td><td></td><td></td></tr><tr><td><strong>Automation Features</strong></td><td></td><td></td><td></td></tr><tr><td>Python Macro-Record</td><td><mark style="color:red;">No</mark></td><td><mark style="color:red;">No</mark></td><td><mark style="color:green;">Yes</mark></td></tr><tr><td>Rerun Edits on New Data</td><td><mark style="color:red;">No</mark></td><td><mark style="color:red;">No</mark></td><td><mark style="color:green;">Yes</mark></td></tr><tr><td></td><td></td><td></td><td></td></tr><tr><td><strong>Styling Features</strong></td><td></td><td></td><td></td></tr><tr><td>Change coloring</td><td><mark style="color:green;">Yes</mark></td><td><mark style="color:green;">Yes</mark></td><td><mark style="color:green;">Yes</mark></td></tr><tr><td>Change Font</td><td><mark style="color:green;">Yes</mark></td><td><mark style="color:green;">Yes</mark></td><td><mark style="color:red;">No</mark></td></tr><tr><td>Row Spacing</td><td><mark style="color:green;">Yes</mark></td><td><mark style="color:green;">Yes</mark></td><td><mark style="color:red;">No</mark></td></tr><tr><td>Row Height</td><td><mark style="color:yellow;">With CSS</mark></td><td><mark style="color:green;">Yes</mark></td><td><mark style="color:red;">No</mark></td></tr><tr><td>Column Width</td><td><mark style="color:yellow;">Programmatically, Python</mark></td><td><mark style="color:green;">Yes</mark></td><td><mark style="color:yellow;">By grid end-user</mark></td></tr><tr><td>Pin Columns</td><td><mark style="color:red;">No</mark></td><td><mark style="color:green;">Yes</mark></td><td><mark style="color:red;">No</mark></td></tr><tr><td>Conditional Formatting</td><td><mark style="color:yellow;">Programmatically, CSS/JS</mark></td><td><mark style="color:yellow;">Programmatically, Python</mark></td><td><mark style="color:yellow;">By grid end-user</mark></td></tr><tr><td>Change Icons</td><td><mark style="color:red;">No</mark></td><td><mark style="color:green;">Yes</mark></td><td><mark style="color:red;">No</mark></td></tr><tr><td>Style Inputs</td><td><mark style="color:red;">No</mark></td><td><mark style="color:green;">Yes</mark></td><td><mark style="color:red;">No</mark></td></tr><tr><td>Style Print Format</td><td><mark style="color:red;">No</mark></td><td><mark style="color:green;">Yes</mark></td><td><mark style="color:red;">No</mark></td></tr><tr><td>Tree Data</td><td><mark style="color:red;">No</mark></td><td><mark style="color:green;">Yes</mark></td><td><mark style="color:red;">No</mark></td></tr><tr><td></td><td></td><td></td><td></td></tr><tr><td><strong>Performance</strong></td><td></td><td></td><td></td></tr><tr><td>Supports Unlimited Rows</td><td><mark style="color:yellow;">Gets laggy on large data</mark></td><td><mark style="color:green;">Yes</mark></td><td><mark style="color:green;">Yes</mark></td></tr><tr><td>Displays Unlimited Rows</td><td><mark style="color:yellow;">Gets laggy on large data</mark></td><td><mark style="color:green;">Yes, with infinite row model</mark></td><td><mark style="color:red;">No, defaults to first 1500</mark></td></tr><tr><td>Supports Unlimited Cols</td><td><mark style="color:yellow;">Gets laggy on large data</mark></td><td><mark style="color:yellow;">Gets laggy on >100 cols.</mark></td><td><mark style="color:green;">Yes</mark></td></tr><tr><td>Displays Unlimited Cols</td><td><mark style="color:yellow;">Gets laggy on large data</mark></td><td><mark style="color:yellow;">Gets laggy on >100 cols.</mark></td><td><mark style="color:red;">No, defaults to first 1500</mark></td></tr><tr><td></td><td></td><td></td><td></td></tr><tr><td><strong>Package</strong></td><td></td><td></td><td></td></tr><tr><td>Open-Source</td><td><a href="https://github.com/plotly/dash/tree/dev/components/dash-table"><mark style="color:green;">Yes</mark></a></td><td><a href="https://github.com/ag-grid/ag-grid"><mark style="color:green;">Yes</mark></a></td><td><a href="http://github.com/mito-ds/mito/"><mark style="color:green;">Yes</mark></a></td></tr><tr><td>Non-third-party Package</td><td><mark style="color:green;">Yes</mark></td><td><mark style="color:red;">pip install dash-ag-grid</mark></td><td><mark style="color:red;">pip install mitosheet dash</mark></td></tr></tbody></table>

{% hint style="info" %}
Dash is designed to allow for ultimate flexibility and customization. That means even if a component doesn't support some of the operations that you want your app to support, you can probably add custom code to your Dash app to support the functionality.&#x20;

For example, although DashTable does not directly support XLSX import, you could still add this to your application with additions to your UI.&#x20;

This feature table is meant to demonstrate what features are available in the *grid-component* only -- so you'll better understand what you have to build yourself.
{% endhint %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.trymito.io/mito-for-dash/mito-vs.-other-dash-components.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
