python 散景取消选择数据 table 行
python bokeh deselect data table rows
我希望能够"reset"一个data table。我该怎么做?
我为我的数据 table 定义了一个 on_change('selected', my_callback)
回调。回调函数具有以下签名:
def my_callback(self, attr, old, new):
...
但是,在调用 my_callback
处理程序后,我无法取消选择已选择的内容。
我曾尝试操纵 new['1d']
或 old['1d']
词典,但没有成功。
取消选择数据中的行 table 并返回到未选择任何内容的原始状态的正确方法是什么?
G 组上有 similar question,但没有答案。
谢谢
这是一个散景应用示例。我不知道你在做什么,因为你没有准确发布你的代码。从源中取消选择或更改所选数据的关键是您需要替换整个对象,否则不会注册更改。通过 javascript 回调可以实现完全相同的功能。
在这里查看相关示例,Bokeh: DataTable - how to set selected rows
from datetime import date
from random import randint
from bokeh.io import curdoc
from bokeh.layouts import widgetbox
from bokeh.models import ColumnDataSource
from bokeh.models.widgets import DataTable, DateFormatter, TableColumn, Button
output_file("data_table.html")
data = dict(
dates=[date(2014, 3, i+1) for i in range(10)],
downloads=[randint(0, 100) for i in range(10)],
)
source = ColumnDataSource(data)
columns = [
TableColumn(field="dates", title="Date", formatter=DateFormatter()),
TableColumn(field="downloads", title="Downloads"),
]
data_table = DataTable(source=source, columns=columns, width=400, height=280)
def callback():
source.selected = {'0d': {'glyph': None, 'indices': []},
'1d': {'indices': []},
'2d': {'indices': {}}}
button = Button(label="Reset all selected cells", button_type="success")
button.on_click(callback)
curdoc().add_root(widgetbox(data_table,button))
要以编程方式取消选择 DataTable
行并返回到未选择任何内容的原始状态,您可以在 python:
中使用它
source.selected.indices = []
其中 source
是 DataTable
的 ColumnDataSource
。
我希望能够"reset"一个data table。我该怎么做?
我为我的数据 table 定义了一个 on_change('selected', my_callback)
回调。回调函数具有以下签名:
def my_callback(self, attr, old, new):
...
但是,在调用 my_callback
处理程序后,我无法取消选择已选择的内容。
我曾尝试操纵 new['1d']
或 old['1d']
词典,但没有成功。
取消选择数据中的行 table 并返回到未选择任何内容的原始状态的正确方法是什么?
G 组上有 similar question,但没有答案。 谢谢
这是一个散景应用示例。我不知道你在做什么,因为你没有准确发布你的代码。从源中取消选择或更改所选数据的关键是您需要替换整个对象,否则不会注册更改。通过 javascript 回调可以实现完全相同的功能。
在这里查看相关示例,Bokeh: DataTable - how to set selected rows
from datetime import date
from random import randint
from bokeh.io import curdoc
from bokeh.layouts import widgetbox
from bokeh.models import ColumnDataSource
from bokeh.models.widgets import DataTable, DateFormatter, TableColumn, Button
output_file("data_table.html")
data = dict(
dates=[date(2014, 3, i+1) for i in range(10)],
downloads=[randint(0, 100) for i in range(10)],
)
source = ColumnDataSource(data)
columns = [
TableColumn(field="dates", title="Date", formatter=DateFormatter()),
TableColumn(field="downloads", title="Downloads"),
]
data_table = DataTable(source=source, columns=columns, width=400, height=280)
def callback():
source.selected = {'0d': {'glyph': None, 'indices': []},
'1d': {'indices': []},
'2d': {'indices': {}}}
button = Button(label="Reset all selected cells", button_type="success")
button.on_click(callback)
curdoc().add_root(widgetbox(data_table,button))
要以编程方式取消选择 DataTable
行并返回到未选择任何内容的原始状态,您可以在 python:
source.selected.indices = []
其中 source
是 DataTable
的 ColumnDataSource
。