Per the specification of the selection class, you must also set the selected_label
attribute to 'Default'
to have the widget update:
self.dropDown.value = 'Default'
self.dropDown.selected_label = 'Default'
Read the Docs for Business
\ SORRY / \/\ This page does / ] not exist yet.[, '|][/ |] ___ ___[, ' |]]\ / [ [ |: | ] ]\ / [ [ |: | ] ]][ [ [ |: | ] ] ] __ __[[ [ |: | ] ]]]\ _ / [ [ [ [ |: | ] ] ] ](#)[[ [ [: === = '] ] ] _].nHn.[_[[ [] ]] HHHHH.[ [ [] ] / `HH("N \ [ [ ]__]/ HHH " \[__[ ] NNN [ ] N/" [ ] N H [ / N \ / q, \ / \
07/27/2022
View the documentation for the widget API in Scala, Python, and R with the following command:
dbutils.widgets.help()
View the documentation for the widget API in Scala, Python, and R with the following command:
dbutils.widgets.help()
Python
dbutils.widgets.dropdown("state", "CA", ["CA", "IL", "MI", "NY", "OR", "VA"])
dbutils.widgets.text("database", "customers_dev")
SQL
CREATE WIDGET DROPDOWN state DEFAULT "CA"
CHOICES SELECT * FROM(VALUES("CA"), ("IL"), ("MI"), ("NY"), ("OR"), ("VA"))
CREATE WIDGET TEXT database DEFAULT "customers_dev"
Create a dropdown widget of all databases in the current catalog:
dbutils.widgets.dropdown("database", "default", [database[0]
for database in spark.catalog.listDatabases()
])
Create a text widget to manually specify a table name:
dbutils.widgets.text("table", "")
Create a dropdown widget of all databases in the current catalog:
dbutils.widgets.dropdown("database", "default", [database[0]
for database in spark.catalog.listDatabases()
])
Create a text widget to manually specify a table name:
dbutils.widgets.text("table", "")
Run a SQL query to see all tables in a database (selected from the dropdown list):
SHOW TABLES IN $ { database }
Preview the contents of a table without needing to edit the contents of the query:
SELECT * FROM $ { database }.$ { table } LIMIT 100
February 28, 2022 by Piotr Płoński Jupyter Mercury Voila
# needed packages import pandas as pd import numpy as np from ipywidgets import widgets # load data df_london = pd.read_csv("data/international-visitors-london-raw.csv")
# get list of unique values with ALL string ALL = 'ALL' def unique_sorted_values_plus_ALL(array): unique = array.unique().tolist() unique.sort() unique.insert(0, ALL) return unique # initialize widgets dropdown_year = widgets.Dropdown(options = unique_sorted_values_plus_ALL(df_london.year)) dropdown_purpose = widgets.Dropdown(options = unique_sorted_values_plus_ALL(df_london.purpose)) bounded_num = widgets.BoundedFloatText(min = 0, max = 100000, value = 5, step = 1) # output widget output = widgets.Output()
# set color of values in the data frame
def colour_ge_value(value, comparison):
if value >= comparison:
return 'color: red'
else:
return 'color: black'
# filter data
def common_filtering(year, purpose, num):
output.clear_output()
if (year == ALL) & (purpose == ALL):
common_filter = df_london
elif year == ALL:
common_filter = df_london[df_london.purpose == purpose]
elif purpose == ALL:
common_filter = df_london[df_london.year == year]
else:
common_filter = df_london[
(df_london.year == year) & (df_london.purpose == purpose)
]
with output:
print("Data set size", common_filter.shape)
display(
common_filter.head(20).style.applymap(
lambda x: colour_ge_value(x, num), subset = ["visits", "spend", "nights"]
)
)
# define event handlers
def dropdown_year_eventhandler(change):
common_filtering(change.new, dropdown_purpose.value, bounded_num.value)
def dropdown_purpose_eventhandler(change):
common_filtering(dropdown_year.value, change.new, bounded_num.value)
def bounded_num_eventhandler(change):
common_filtering(dropdown_year.value, dropdown_purpose.value, change.new)
# define observers
dropdown_year.observe(dropdown_year_eventhandler, names = "value")
dropdown_purpose.observe(dropdown_purpose_eventhandler, names = "value")
bounded_num.observe(bounded_num_eventhandler, names = "value")
# display input widgets
display(dropdown_year)
display(dropdown_purpose)
display(bounded_num)
# display output widget
display(output)
voila dashboard_ipywidgets.ipynb
More information can be found in the Reference for DataTable.,More information can be found in the Reference for DatePicker.,More information can be found in the Reference for ColorPicker.,More information can be found in the Reference for Tabs.
def my_text_input_handler(attr, old, new):
print("Previous label: " + old)
print("Updated label: " + new)
text_input = TextInput(value = "default", title = "Label:")
text_input.on_change("value", my_text_input_handler)
def my_radio_handler(new):
print('Radio button option ' + str(new) + ' selected.')
radio_group = RadioGroup(labels = ["Option 1", "Option 2", "Option 3"], active = 0)
radio_group.on_click(my_radio_handler)
from bokeh.io
import show
from bokeh.models
import Button, CustomJS
button = Button(label = "Foo", button_type = "success")
button.js_on_click(CustomJS(code = "console.log('button: click!', this.toString())"))
show(button)
from bokeh.io import show from bokeh.models import CheckboxButtonGroup, CustomJS LABELS = ["Option 1", "Option 2", "Option 3"] checkbox_button_group = CheckboxButtonGroup(labels = LABELS, active = [0, 1]) checkbox_button_group.js_on_click(CustomJS(code = "" " console.log('checkbox_button_group: active=' + this.active, this.toString()) "" ")) show(checkbox_button_group)
from bokeh.io import show from bokeh.models import CheckboxGroup, CustomJS LABELS = ["Option 1", "Option 2", "Option 3"] checkbox_group = CheckboxGroup(labels = LABELS, active = [0, 1]) checkbox_group.js_on_click(CustomJS(code = "" " console.log('checkbox_group: active=' + this.active, this.toString()) "" ")) show(checkbox_group)
from bokeh.io
import show
from bokeh.layouts
import column
from bokeh.models
import ColorPicker
from bokeh.plotting
import Figure
plot = Figure(x_range = (0, 1), y_range = (0, 1), width = 350, height = 350)
line = plot.line(x = (0, 1), y = (0, 1), color = "black", line_width = 4)
picker = ColorPicker(title = "Line Color")
picker.js_link('color', line.glyph, 'line_color')
show(column(plot, picker))