St.data_editor reverts back when other widgets is changed

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.

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.