I am using st.data_editor to input my tabular data and use the table ouptut as variable for my next function. After I click the “Confirm Entry” button, it works well. However, when i alter other widgets afterwards, it reverts back to the state before I clicked on the “Confirm Entry” button. Anyone can help me on this??
Part of my code:
df_test = pd.DataFrame(columns=[“Start Depth”,“End Depth”, “Hole Diameter”, “Run Number”])
df_entry = st.data_editor(df_test,num_rows=“dynamic”)
confirm = st.button(“Confirm Entry”)
Hi @zahid_hamidi_A.H
Perhaps you can replace df_entry
with a session state variable instead so that other widget interaction would not reset the edited DataFrame.
Here are the Docs page for session state:
Hi @dataprofessor,
I’m not sure what to put in my code, not really familiar with session_state. If you could help me provide a little bit of snippet what I should include in my code that would be very much appreciated.
I think it has to do with session caching, not sure how
My current edits:
if "df_entry" not in st.session_state:
st.session_state["df_entry"] = pd.DataFrame(columns=["Start Depth","End Depth", "Hole Diameter", "Run Number"])
st.session_state["df_entry"] = st.data_editor(st.session_state["df_entry"],num_rows="dynamic")
df_entry = st.session_state["df_entry"]
Hi @zahid_hamidi_A.H
There are code snippets from this Docs page:
Also, you may need to specifiy the key parameter in order to retrieve changes made to the Data Editor.