import pandas as pd
import streamlit as st
df_new_programs=pd.DataFrame({"id":[3,7],"var":[1.1, 10.5]})
if "df" not in st.session.state
st.session_state["df"]=pd.DataFrame(columns=["id","var"])
if st.button("save"):
st.session_state["df"]=st.session_state["df_edited"]
if st.button("add programs"):
st.session_state.df=pd.concat([df_new_programs, st.session_state.df])
st.session_state["df_edited"]=st.data_editor(st.session_state, num_rows="dynamic")
Calculate(st.session_state.df)
It seems to work now that I added a line saving the df with the new programs added to the session state (df_edited) that has the output of the data_editor too:
import pandas as pd
import streamlit as st
df_new_programs=pd.DataFrame({"id":[3,7],"var":[1.1, 10.5]})
if "df" not in st.session.state
st.session_state["df"]=pd.DataFrame(columns=["id","var"])
if st.button("save"):
st.session_state["df"]=st.session_state["df_edited"]
if st.button("add programs"):
st.session_state.df=pd.concat([df_new_programs, st.session_state.df])
import pandas as pd
import streamlit as st
df_new_programs=pd.DataFrame({"id":[3,7],"var":[1.1, 10.5]})
if "df" not in st.session.state
st.session_state["df"]=pd.DataFrame(columns=["id","var"])
if st.button("save"):
st.session_state["df"]=st.session_state["df_edited"]
if st.button("add programs"):
st.session_state.df=pd.concat([df_new_programs, st.session_state.df])
st.session_state["df_edited"]=st.session_state.df ####HERE
st.session_state["df_edited"]=st.data_editor(st.session_state, num_rows="dynamic")
Calculate(st.session_state.df)
I also solved the bug that could be responsible too that you can see in the thread I linked by rolling back the version of st-pages. My snippet would have to have this part too to reproduce it if it that’s the problem:
from st_pages import add_page_title, show_pages_from_config
add_page_title()
show_pages_from_config()