Button with table to take information

hi guys, i new with streamlit and is the main bi used in my company, i make a table html with the follow code

styles = [
            {'selector': '', 'props': [('font-size', '15px'), ('width', '100%')]}
        ]

    dt1 = dt0.style.set_table_styles(styles)._repr_html_()

st.markdown(
                f"""
                <div style="height: 600px; overflow-y: scroll; width: 100%;">
                    {dt1}
                """,
                unsafe_allow_html=True
            )

i want to make button in each line, with when i click this button, its take every information in this line, exemple, i click the button in the first line, it take all information in this line and save in varible

i need it too.I’ve been seeking for plenty of information but none of them help me solve this problem.

Do the on_select and selection_mode arguments to st.dataframe help?

I make a code to create like a dataframe but i need to improve with html, but the code create a table with to code, with one is a popover, like this

 with tab_vendas_2:
        
        forms = await GetFuncionarios()
                    
        headers = [
            'nome', 
            'cargo', 
            'setor', 
            'lider', 
            'salario', 
            'celular', 
            'data_nascimento',
            'data_demissao',
            'email', 
            'cpf', 
            'endereco', 
            'escolaridade',
            'sexo',
            'tamanho_farda',
            'motivo_use',
            'disc',
            'motivo_demissao',
            'Desativar',
            'Editar']

        try:
            cols = st.columns(len(headers))
            
            for col, header in zip(cols, headers):
                col.markdown(f"**{header}**")

            for index, row in forms.iterrows():
                cols = st.columns(len(headers))
                
                cols[0].text(row['nome'] if row['nome'] is not None else 'Em Branco')
                cols[1].text(row['cargo'] if row['cargo'] is not None else 'Em Branco')
                cols[2].text(row['setor'] if row['setor'] is not None else 'Em Branco')
                cols[4].text(row['lider'] if row['lider'] is not None else 'Em Branco')
                cols[5].text(row['salario'] if row['salario'] is not None else 'Em Branco')
                cols[6].text(row['celular'] if row['celular'] is not None else'Em Branco')
                cols[6].text(row['data_nascimento'] if not pd.isna(row['data_nascimento']) else 'Em Branco')
                cols[7].text(row['data_demissao'] if not pd.isna(row['data_demissao']) else 'Em Branco')
                cols[8].text(row['email'] if row['email'] is not None else 'Em Branco')
                cols[9].text(row['cpf'] if row['cpf'] is not None else 'Em Branco')
                cols[10].text(row['endereco'] if row['endereco'] is not None else 'Em Branco')
                cols[11].text(row['escolaridade'] if row['escolaridade'] is not None else 'Em Branco')
                cols[12].text(row['sexo'] if row['sexo'] is not None else 'Em Branco')
                cols[13].text(row['tamanho_farda'] if row['tamanho_farda'] is not None else 'Em Branco')
                cols[14].text(row['motivo_use'] if not pd.isna(row['motivo_use']) else 'Em Branco')
                cols[15].text(row['disc'] if not pd.isna(row['disc']) else 'Em Branco')
                cols[16].text(row['motivo_demissao'] if not pd.isna(row['motivo_demissao']) else 'Em Branco')
                
                if cols[17].button('🚫', key=f'delete_{index}'):
                    status = 'INATIVO'
                    await DeleteFuncionarios(row['id'], status)
                    st.experimental_rerun()

                with cols[18]:
                    with st.popover("✏️"): 

                        form_theme_settings = st.form(key=f"Informações_{index}")
                        form_theme_settings.write("Editar Info")
                        
                        nome = form_theme_settings.text_input('Insira o nome', value=row['nome'], key=f'nome_{index}')
                        cargo = form_theme_settings.text_input('Insira o cargo', value=row['cargo'], key=f'cargo_{index}')
                        setor = form_theme_settings.selectbox('Insira o setor', setores, key=f'setor_{index}')
                        lider = form_theme_settings.text_input('Insira o líder direto', value=row['lider'], key=f'lider_{index}')
                        salario = form_theme_settings.text_input('Insira o salário', value=row['salario'], key=f'salario_{index}')
                        celular = form_theme_settings.text_input('Insira o celular', value=row['celular'], key=f'celular_{index}')
                        data_nascimento = form_theme_settings.date_input('Data de Nascimento', value=data_nascimento, format="YYYY-MM-DD", key=f'datanasc_{index}')
                        data_admissao = form_theme_settings.date_input('Data de Demissao', value=None, key=f'datademi_{index}')
                        email = form_theme_settings.text_input('Insira o email', value=row['email'], key=f'email_{index}')
                        cpf = form_theme_settings.text_input('Insira o cpf', value=row['cpf'], key=f'cpf_{index}')
                        endereco = form_theme_settings.text_input('Insira o endereco', value=row['endereco'], key=f'endereco_{index}')
                        escolaridade = form_theme_settings.selectbox('Insira o escolaridade', escolaridades, key=f'escol_{index}')
                        tamanho_farda = form_theme_settings.selectbox('Insira o tamanhos', Tamanhos, key=f'tamanho_{index}')
                        sexo = form_theme_settings.selectbox('Insira o sexo', sexos, key=f'sexo_{index}')
                        motivo_use = form_theme_settings.text_input('Insira o motivo para entrar na use', value=row['motivo_use'], key=f'motivo_{index}')
                        disc = form_theme_settings.text_input('Insira o disc', value=row['disc'], key=f'disc_{index}')
                        motivo_demissao = form_theme_settings.text_input('Insira o motivo da demissão', value=row['motivo_demissao'], key=f'demissao_{index}')
                        status = form_theme_settings.selectbox('Insira o status do colaborador', ['ATIVO', 'INATIVO'], key=f'status_{index}')
                        
                        submit_form_clicked = form_theme_settings.form_submit_button(label = "Apply")