Spaces:
Sleeping
Sleeping
import streamlit as st | |
def grid(col=3, row=4, name='grid1'): | |
cols = st.columns(col) | |
for i in range(row): | |
for j in range(col): | |
with cols[j]: | |
value = st.session_state.checked_dic[name].get(f"{name}_{i*col+j}", False) | |
check = st.checkbox(f"{i*col+j}", key=f"{name}_{i*col+j}", value=value) | |
if check: | |
st.session_state.checked_dic[name][f"{name}_{i*col+j}"] = True | |
else: | |
st.session_state.checked_dic[name][f"{name}_{i*col+j}"] = False | |
def on_click(): | |
for key in st.session_state: | |
if st.session_state[key] and key[-1].isdigit(): | |
st.write(key) | |
# for key in st.session_state.checked_dic[name]: | |
# if st.session_state.checked_dic[name][key]: | |
# st.write(key) | |
if __name__ == "__main__": | |
if 'checked_dic' not in st.session_state: | |
st.session_state.checked_dic = {'grid1': {}, 'grid2': {}} | |
name = st.selectbox('Select a grid', ['grid1', 'grid2']) | |
with st.form(f"{name}_form"): | |
grid(name=name) | |
submit_button = st.form_submit_button("Submit", on_click=on_click) | |