Striped rows table
Table styletype: "table"Alternate row shading keeps wide tables scannable — tint the zebra rows to your brand and swap the data on every API call. Generate striped tables free.
Design JSON — “Striped rows” variant
{
"title": "Table sample",
"description": "A dynamic leaderboard table",
"dimensions": {
"width": 800,
"height": 420
},
"background": {
"color": "#ffffff"
},
"components": [
{
"id": "sample-table",
"key": "leaderboard",
"type": "table",
"position": {
"x": 140,
"y": 90
},
"rotation": 0,
"size": {
"width": 520,
"height": 240
},
"dynamic": true,
"properties": {
"headers": [
"Rank",
"Name",
"Score"
],
"rows": [
[
1,
"Alice",
980
],
[
2,
"Bob",
870
],
[
3,
"Carol",
820
]
],
"showHeader": true,
"striped": true,
"borders": "none",
"opacity": 1,
"altRowColor": "#EEF2FF"
}
}
]
}Table examples
Real renders of the striped rows table — each one is the same component with different property values, and the API payload below each preview reproduces it exactly.
Payroll hours sheet
Hours per employee with indigo-tinted zebra rows and no rules.
API overrides for this example
{
"leaderboard.striped": true,
"leaderboard.altRowColor": "#EEF2FF",
"leaderboard.borders": "none",
"leaderboard.headers": [
"Employee",
"Regular",
"Overtime",
"Total"
],
"leaderboard.rows": [
[
"A. Brooks",
38,
4,
42
],
[
"J. Patel",
40,
0,
40
],
[
"S. Kim",
36,
6,
42
],
[
"L. Moreau",
40,
2,
42
]
]
}Shipping rate card
Zone-based shipping rates — the stripes carry the eye across each row.
API overrides for this example
{
"leaderboard.striped": true,
"leaderboard.altRowColor": "#EEF2FF",
"leaderboard.borders": "none",
"leaderboard.headers": [
"Zone",
"Under 1 kg",
"Under 5 kg",
"Over 5 kg"
],
"leaderboard.rows": [
[
"Domestic",
"$4.90",
"$8.50",
"$14.00"
],
[
"Europe",
"$9.90",
"$16.00",
"$24.50"
],
[
"Worldwide",
"$14.90",
"$22.00",
"$39.00"
]
],
"leaderboard.columnAlign": [
"left",
"right",
"right",
"right"
]
}When to use the striped rows style
- Wide payroll and roster sheets
- Rate cards with many rows
- Usage reports scanned row by row
Use it dynamically via the API
Replace the body per render with '<key>.rows' (or just '<key>') and the columns with '<key>.headers'.
Full API request with this variant's current values — the playground above sends only the properties you change
curl --location 'https://render.imejis.io/v1/{{YOUR_DESIGN_ID}}' \
--header 'dma-api-key: {{YOUR_API_KEY}}' \
--header 'Content-Type: application/json' \
--data '{
"leaderboard.headers": [
"Rank",
"Name",
"Score"
],
"leaderboard.rows": [
[
1,
"Alice",
980
],
[
2,
"Bob",
870
],
[
3,
"Carol",
820
]
],
"leaderboard.showHeader": true,
"leaderboard.striped": true,
"leaderboard.borders": "none",
"leaderboard.opacity": 1,
"leaderboard.altRowColor": "#EEF2FF"
}'Only send the properties you want to change — everything else keeps its design value. See the API documentation for all languages.
Other table styles
See the table component page for the full property reference and FAQs.