The Dataset component displays example data that users can click to populate inputs.
Basic usage
import gradio as gr
with gr.Blocks() as demo:
text_input = gr.Textbox()
examples = gr.Dataset(
components=[text_input],
samples=[
["Hello"],
["How are you?"],
["Goodbye"]
]
)
examples.click(
lambda x: x,
inputs=examples,
outputs=text_input
)
demo.launch()
Constructor
components
Sequence[Component] | list[str] | None
default:"None"
Components that correspond to each column
samples
list[list[Any]] | None
default:"None"
Example data. Each inner list represents one example
Column headers. If None, inferred from component labels
type
Literal['values', 'index', 'tuple']
default:"'values'"
What to pass when clicked:
"values" - The example values
"index" - The example index
"tuple" - Both (index, values)
layout
Literal['gallery', 'table'] | None
default:"None"
Display layout:
"gallery" - Grid of cards
"table" - Table view
Defaults to gallery for single component, table for multiple
Number of examples per page
Events
- click - Triggered when example is clicked
- select - Triggered when example is selected
Example
import gradio as gr
def process(text, number):
return f"{text}: {number}"
with gr.Blocks() as demo:
text = gr.Textbox()
num = gr.Number()
output = gr.Textbox()
examples = gr.Dataset(
components=[text, num],
samples=[
["Hello", 42],
["World", 99],
["Test", 0]
],
headers=["Text", "Number"],
type="values"
)
examples.click(
lambda vals: vals,
inputs=examples,
outputs=[text, num]
)
gr.Button("Submit").click(
fn=process,
inputs=[text, num],
outputs=output
)
demo.launch()