On Nov 22, 2018, at 13:18, tony12624120@gmail.com wrote:
Do you mean something like this (added table.height)?
from bokeh.io import curdoc, show
from bokeh.layouts import widgetbox
from bokeh.models import ColumnDataSource, Slider, DataTable, TableColumn
max_i = 200
init_i = 6
def get_square(n):
return dict(x = list(range(n)), y = [x ** 2 for x in range(n)])
source = ColumnDataSource(get_square(init_i))
columns = [TableColumn(field = "x", title = "x"), TableColumn(field = "y", title = "x**2")]
table = DataTable(source = source, columns = columns, width = 320)
i_slider = Slider(start = 1, end = max_i, value = init_i, step = 1, title = "i", width = 300)
def update_data(attrname, old, new):
i = i_slider.value
table.source = ColumnDataSource(get_square(i))
table.height = i * 25 + 25
table.update()
i_slider.on_change('value', update_data)
layout = widgetbox(i_slider, table)
curdoc().add_root(layout)
On Friday, November 2, 2018 at 10:49:07 PM UTC+1, Yizhou Zhu wrote:
Hi, I have question about update DataTables.
Attached is an example. (run by bokeh serve --show table_example.py)
The expected result is just a table of x vs x^2. x is controlled by the slider.
The table content is updated as expected. However, the number of rows is fixed to the initial value (6)
Ideally the table can change with the number of rows... Now it won't show additional rows is x goes beyond the initial value.
Is there anyway I can get dynamic number of rows? Or at least, is there a way to fix the number of rows in the beginning?
Thank you !
--
You received this message because you are subscribed to the Google Groups "Bokeh Discussion - Public" group.
To unsubscribe from this group and stop receiving emails from it, send an email to bokeh+unsubscribe@continuum.io.
To post to this group, send email to bokeh@continuum.io.
To view this discussion on the web visit https://groups.google.com/a/continuum.io/d/msgid/bokeh/4e58d26a-e7c8-4ad5-bddc-aeca5b077975%40continuum.io\.
For more options, visit https://groups.google.com/a/continuum.io/d/optout\.