Hi all,
I tried something out based on another question with a good idea of @tonykip, which I adapted to my initial problem.
Link to question “session-state-logic”
Result:
if'dfa' not in st.session_state:
st.session_state['dfa']= pd.DataFrame({"Par":["Apple","Strawberry","Banana"],"Cat1":["good","good","bad"],"Cat2":["healthy","healthy","unhealthy"],'Active':[False,False,False]})
name=st.text_input("Search for ...")
if name == '':
st.session_state['dfa'].Active=True
else:
st.session_state['dfa'].Active=False
st.session_state['dfa'].loc[st.session_state['dfa']['Par'].str.contains(name),'Active']=True
active_dfa = st.session_state['dfa'][st.session_state['dfa']['Active']==True].copy()
edited_dfa = st.data_editor(active_dfa,column_order=['Par','Cat1','Cat2'])
print(edited_dfa)
if edited_dfa is not None:
st.session_state['dfa'].update(edited_dfa)
This works now fine. Any idea, how to ignore capitals so that it is not case sensitive?
Thank you @tonykip for this great idea from other post.