当我选择散景DataTable
的一行(或多行)时,是否可以触发回调事件?
def update(rows):
...
dt = DataTable(...)
dt.on_select(update)
我看到有一个.on_change
方法可以触发特定属性,但我找不到与所选行对应的属性。
答案 0 :(得分:7)
Birdarah的上述回答在bokeh版本0.12.16之前是正确的,但是从bokeh版本0.13开始,您需要稍微更改on_change方法以使其起作用:
source = ColumnDataSource(mpg)
columns = [....]
data_table = DataTable(source=source, columns=columns)
def callback(attrname, old, new):
selectionIndex=source.selected.indices[0]
print("you have selected the row nr "+str(selectionIndex))
source.selected.on_change('indices', callback)
答案 1 :(得分:6)
我认为选择一行数据表与在数据源上进行选择相同。因此,如果您将回调连接到为表提供电源的数据源,那么回调应该可以正常工作。
source = ColumnDataSource(mpg)
columns = [....]
data_table = DataTable(source=source, columns=columns)
source.on_change('selected', callback)