Флажки st-aggrid перестают обновляться после развертывания (работает локально)Python

Программы на Python
Ответить
Anonymous
 Флажки st-aggrid перестают обновляться после развертывания (работает локально)

Сообщение Anonymous »

Проблема:
Приложение работает локально, но после развертывания в Azure у некоторых пользователей флажок отображается, но выбор строк/переключение логического значения не обновляет selected_rows или возвращаемые данные. Поскольку выделение остается пустым, панель «Назначение» никогда не открывается. У меня есть ограничения доступа по IP-адресу в Azure, поэтому приложение могут видеть только те, чьи IP-адреса указаны в Azure.
Ожидается:
  • Нажатие кнопки «Выбрать» обновляет выбранные_строки → отображается панель назначений.
  • Нажатие заблокированного флажка обновляет данные сетки.
Пример кода:

Код: Выделить всё

import streamlit as st
import pandas as pd
from st_aggrid import AgGrid, GridOptionsBuilder, GridUpdateMode, JsCode, DataReturnMode

st.set_page_config(layout="wide")
st.title("st-aggrid checkbox issue repro")

# Minimal dataset
df = pd.DataFrame(
{
"unique_id": [1, 2, 3, 4, 5],
"name": ["Alpha", "Beta", "Gamma", "Delta", "Epsilon"],
"locked": [False, True, False, False, True],
"__blocked": [False, False, False, False, False],
"__can_lock": [True, True, True, True, True],
}
)

# Create a separate "Select" column to force checkboxSelection rendering
t = df.copy()
t.insert(0, "Select", "")  # must be non-boolean to avoid double-checkbox

gb = GridOptionsBuilder.from_dataframe(t)

# Default columns read-only; we enable edit only for "locked"
gb.configure_default_column(
editable=False,
resizable=True,
sortable=True,
filter=False,
suppressMenu=True,
)

# Hide helpers
gb.configure_column("unique_id", hide=True)
gb.configure_column("__blocked", hide=True)
gb.configure_column("__can_lock", hide=True)

# Enable checkbox selection in a dedicated column
gb.configure_selection(
selection_mode="multiple",
use_checkbox=False,
suppressRowClickSelection=True,
suppressRowDeselection=False,
)

gb.configure_column(
"Select",
header_name="Select",
checkboxSelection=True,
headerCheckboxSelection=True,
headerCheckboxSelectionFilteredOnly=True,
pinned="left",
width=90,
sortable=False,
filter=False,
)

# Editable boolean checkbox column
can_edit_locked = JsCode("""
function(p){
if (!p.data) return false;
if (p.data.__blocked) return false;
return !!p.data.__can_lock;
}
""")

gb.configure_column(
"locked",
header_name="Locked",
editable=can_edit_locked,
cellRenderer="agCheckboxCellRenderer",
cellEditor="agCheckboxCellEditor",
type=["booleanColumn"],
width=90,
)

grid_options = gb.build()

# Immutable data + stable row id
grid_options["immutableData"] = True
grid_options["getRowId"] = JsCode("function(p){ return String(p.data.unique_id); }")

grid_resp = AgGrid(
t,
gridOptions=grid_options,
update_mode=GridUpdateMode.VALUE_CHANGED | GridUpdateMode.SELECTION_CHANGED,
data_return_mode=DataReturnMode.AS_INPUT,
allow_unsafe_jscode=True,
fit_columns_on_grid_load=True,
theme="streamlit",
height=350,
key="grid_repro",
)

st.subheader("Debug output")
st.write("Selected rows:", grid_resp.get("selected_rows"))
st.write("Returned data:", grid_resp.get("data"))
Развертывание + информация о клиенте:
  • streamlit==1.41.1,streamlit-aggrid==1.1.0, Python=3.12
  • Служба приложений Azure.
Я уже пробовал:
  • Принудительное обновление/очистка данных сайта.
  • Другой браузер/инкогнито.
  • Отключить расширения.
  • Изменить ключ компонента, перемонтировать, отключить immutableData и т. д.
Что может блокировать события флажка st-aggrid только на некоторых клиентах после развертывания?

Подробнее здесь: https://stackoverflow.com/questions/798 ... ks-locally
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»