Я хочу прочитать значение одной ячейки из кадра данных на основе выбранной строки. Я делаю это, как показано ниже, но получаю значение не тогда, когда нажимаю на запись (когда установлен флажок выбора), а только после того, как нажимаю на другую или снимаю галочку со строки. Почему?
Я получаю некоторую запись из базы данных и рисую таблицу с помощью Streamlit и pandas:
Код: Выделить всё
employees = get_all_employees()
event = st.dataframe(
employees,
hide_index=True,
selection_mode="single-row",
on_select=on_employee_select,
)
Код: Выделить всё
def on_employee_select():
global selected_emp_id, selected_emp_name
row = event.selection.rows # type: ignore # List of selected row indices
if row:
selected_emp_id = int(employees.iat[row[0], 0]) # type: ignore
selected_emp_name = str(employees.iat[row[0], 1]) # type: ignore
else:
selected_emp_id = 0
selected_emp_name = ""
st.write("on_employee_select: ", selected_emp_id, selected_emp_name)
Подробнее здесь: https://stackoverflow.com/questions/798 ... -dataframe
Мобильная версия