Py.Cafe

mariobuikhuizen/

solara-ag-grid-viewer

Solara-based AG Grid Viewer

DocsPricing
  • app.py
  • requirements.txt
app.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
import solara
from ipyaggrid import Grid

@solara.component 
def Page():
    Grid.element(
        css_rules="""
            .ag-cell-not-inline-editing.price-high {
                background-color: red;
                color: white;
            }
            .ag-cell-not-inline-editing {
                background-color: lightgreen
            }
        """,
        grid_data=[
            {"make": "Toyota", "model": "Celica", "price": 35000},
            {"make": "Ford", "model": "Mondeo", "price": 32000},
            {"make": "Porsche", "model": "Boxster", "price": 72000}
        ],
        grid_options={
            "defaultColDef": {
                "cellClass": """function(params) {
                    return params.value >32000 ? "price-high" : "";
                }""",
            },
            "columnDefs": [
                {"headerName": "Make", "field": "make"},
                {"headerName": "Model", "field": "model"},
                {"headerName": "Price", "field": "price", "editable": True}
            ],
        },
    )
    solara.Text("We can use JavaScript code in the grid_options, see aggrid docs on how to use it:")
    link = "https://www.ag-grid.com/archive/28.1.1/javascript-data-grid/cell-styles/#cell-class"
    solara.HTML(tag="div", unsafe_innerHTML=f'<a href="{link}">{link}</a>')