Pegar valor do checkedlistbox selecionado

16/08/2017

0

Bom dia.
Tenho um Checkedlistbox e não sei como faço pra pegar o valor que foi selcionado. E não quero pegar todos os valores selecionados, eu quero pegar o valor que foi selecionado na hora do click atraves do meu datagridview.
todos os dados inseridos pelo checkedlistbox sao apresentados visualmente no datagridview, eu gostaria de retornar esses dados de acordo com dados que estao no checkedlistbox.
Lucas Pereira

Lucas Pereira

Responder

Posts

16/08/2017

Douglas Souza

Fala Lucas, tranquilo?

Para capturar o valor selecionado, implemente o código abaixo, no evento onclick do seu CheckListBox.

CheckListBox1.Items[CheckListBox1.ItemIndex]


Espero ter entendio o seu problema :)

Um forte abraço.

Att, Douglas Claudio
Responder

16/08/2017

Douglas Souza

Amigo,

Gostaria de pedir desculpas. Mas o código passado acima foi baseado em Delphi, portanto não irá funcionar :(

Já programei há um tempo em C# e acredito que o código abaixo, irá ajudar :D

for (int i = 0; i < CheckBoxList1.Items.Count; i++)
{
    if (CheckBoxList1.Items[i].Selected)
    {
        //Recupera o valor através do CheckBoxList1.Items[i].Value;
    }
}


O mesmo percorrerá o teu CheckBoxList1 e verificará o que foi selecionado para recuperar o seu valor.

Espero ter ajudado.

Att, Douglas Claudio.
Responder

30/08/2017

Lucas Pereira

Fala douglas boa tarde.
obrigado pela ajuda, mais esse codigo ja tentei implementar e nao deu certo.

vou descrever novamente o que ocorre.

Estou programando em C# no Visual Studio 2015, e tenho um form com um checkedListBox com nomes de vários cursos (O cadastro é de um aluno).

Ao marcar e salvar, ele salva o cadastro do aluno na tabela alunos, e me apresenta ao meu datagridview, onde ele server para visualização

Preciso agora que quando eu editar o cadastro do aluno, os checkedListBox apareçam checados, nas opções que foram marcadas na hora da inserção, porém não estou conseguindo fazer isso, eu estou utilizando o próprio datagridview para realizar o update, ou seja quando eu clico na celula do datagridview ele me abre outro form para fazer o update do cadastro, so nao to conseguindo pegar as informação do meu checkedlistbox.

Resumindo:

Preciso puxar do banco e marcar as opções do CheckedListBox que foram marcados na inserção do aluno

Estou programando em Windows Form

Fico no aguardo

Obrigado

esse é meu codigo que joga as informação do meu datagridview para meu form de update.

private void DG_edit_CellContentDoubleClick(object sender, DataGridViewCellEventArgs e)
        {
            Tela_EditarAluno fmr = new Tela_EditarAluno();

            fmr.TB_cod.Text = DG_edit.CurrentRow.Cells["Cod"].Value.ToString();
            fmr.TB_nome.Text = DG_edit.CurrentRow.Cells["Nome"].Value.ToString();
            fmr.TB_idade.Text = DG_edit.CurrentRow.Cells["Idade"].Value.ToString();
            fmr.TB_endereco.Text = DG_edit.CurrentRow.Cells["Endereço"].Value.ToString();
            fmr.TB_quadra_lote.Text = DG_edit.CurrentRow.Cells["Quadra"].Value.ToString();
            fmr.MD_telefoneFixo.Text = DG_edit.CurrentRow.Cells["Residencial"].Value.ToString();
            fmr.MD_telefoneCel.Text = DG_edit.CurrentRow.Cells["Celular"].Value.ToString();
            fmr.TB_cidade.Text = DG_edit.CurrentRow.Cells["Cidade"].Value.ToString();
            fmr.TB_uf.Text = DG_edit.CurrentRow.Cells["Uf"].Value.ToString();
            fmr.TB_email.Text = DG_edit.CurrentRow.Cells["Email"].Value.ToString();
            fmr.TB_nomepai.Text = DG_edit.CurrentRow.Cells["Pai"].Value.ToString();
            fmr.TB_nomemae.Text = DG_edit.CurrentRow.Cells["Mãe"].Value.ToString();
            fmr.CB_ativo.Text = DG_edit.CurrentRow.Cells["Ativo"].Value.ToString();

           
            fmr.ShowDialog();
        }
Responder

01/09/2017

Lucas Pereira

Galera consegui resolver esse problema segue o codigo.
private void DG_edit_CellContentDoubleClick(object sender, DataGridViewCellEventArgs e)
{
    Tela_EditarAluno fmr = new Tela_EditarAluno();

    fmr.TB_cod.Text = DG_edit.CurrentRow.Cells["Cod"].Value.ToString();
    fmr.TB_nome.Text = DG_edit.CurrentRow.Cells["Nome"].Value.ToString();
    fmr.TB_idade.Text = DG_edit.CurrentRow.Cells["Idade"].Value.ToString();
    fmr.TB_endereco.Text = DG_edit.CurrentRow.Cells["Endereço"].Value.ToString();
    fmr.TB_quadra_lote.Text = DG_edit.CurrentRow.Cells["Quadra"].Value.ToString();
    fmr.MD_telefoneFixo.Text = DG_edit.CurrentRow.Cells["Residencial"].Value.ToString();
    fmr.MD_telefoneCel.Text = DG_edit.CurrentRow.Cells["Celular"].Value.ToString();
    fmr.TB_cidade.Text = DG_edit.CurrentRow.Cells["Cidade"].Value.ToString();
    fmr.TB_uf.Text = DG_edit.CurrentRow.Cells["Uf"].Value.ToString();
    fmr.TB_email.Text = DG_edit.CurrentRow.Cells["Email"].Value.ToString();
    fmr.TB_nomepai.Text = DG_edit.CurrentRow.Cells["Pai"].Value.ToString();
    fmr.TB_nomemae.Text = DG_edit.CurrentRow.Cells["Mãe"].Value.ToString();
    fmr.CB_ativo.Text = DG_edit.CurrentRow.Cells["Ativo"].Value.ToString();

    // Obter checkBox de Yoga

    int indexCbYoga = GetItemIndex(fmr.chekedListBox, "Yoga"); // fmr.chekedListBox é o nome do seu CheckedListBox dentro do seu form. 

    // Pegar o valor da dataGridView que diz se a Yoga está marcada

    bool yogaChecked = DG_edit.CurrentRow.Cells["Atividade"].Value.ToString().Contains("Yoga");

    // Checar o valor do Yoga no seu `checkedListBox`

    fmr.checkedListBox.SetItemChecked(indexCbYoga, yogaChecked); // Se yogaChecked for true, checa o checkBox Yoga, senão, deixa desmarcado.

    // Fazer o mesmo para as outras opções além de Yoga...

    fmr.ShowDialog();

}

private int GetItemIndex(CheckedListBox checkedListBox, string item)
{
    int index = 0;

    foreach (object o in checkedListBox.Items)
    {
        if (item == o.ToString())
        {
            return index;
        }

        index++;
    }

    return -1;
}
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar