Dynamic Checkbox Greyout

Hello,

I am building a streamlit app in Snowflake where i am reading a table from Snowflake and displaying the data in dataeditor within Streamlit. I need to give the users the capability to edit the data. One of the columns in the table is a Boolean Value. I need the boolean value to be greyed out if the value is True and should be editable if the value is false. Once the user toggles the boolean column from false to true, it should be immediately greyed out.

I tried to do that by using the columnconfig and i am able to grey out the True values from the table but for the false values the checkbox appears but it would not toggle when i click on it. Not sure where i am going wrong

Here is the code

column_config = {}
for col_name in checkbox_columns:
    column_config[col_name] = st.column_config.CheckboxColumn(label = col_name, help = f"Toggle {col_name} status", disabled = df[col_name].tolist())

edited_df = st.data_editor(df,
                           column_config = column_config,
                          use_container_width = True,
                          key = "changes")