Como eu percorro um CheckListBox

11/04/2013

Bem, eu tenho uma tabela de triagem de documentos. Nessa tela eu preciso selecionar para o mesmo ID várias tarefas. Como é necessário fazer no mesmo ID, então normalizei o BD e criei a tabela de Tarefas. Como eu faço então para gravar as tarefas selecionadas no CheckBoxList? Exemplo: Na triagem Nro. 4(ID=4) foram selecionadas 3 tarefas, por exemplo:
Subsídio,Liminar e Sentença. Então, na tabela de Tarefas deveria estar assim:

ID ID_Triagem Tarefa
1 1 Subsídio
2 1 Liminar
3 1 Sentença

Como eu faço para percorrer cada item checado e gravar no meu BD? Uso LINQ.

Pjava

Respostas

12/04/2013

Pjava

Percorrer eu já fiz, agora o que eu preciso é ir gravando em cada iteração do loop for do meu CheckBoxList. Eu fiz assim:
for (int i = 0; i < _lista.Items.Count; i++)
{
if (_lista.Items[i].Selected)
{
cmmd.Parameters.AddWithValue("idcadastro", _cadastro);
cmmd.Parameters.AddWithValue("nmtarefa", _lista.Items[i].Value);
cmmd.ExecuteNonQuery();
}
}

Agora eu faço para gravar. Dessa forma só grava o primeiro item selecionado, e nesse exemplo eu tenho três.
Responder Citar

12/04/2013

Joel Rodrigues

Faça o debug do código e veja o que está sendo passado como parâmetro, verifique o Value de cada item.
Responder Citar

12/04/2013

Pjava

Então Joel, ele grava o primeiro item selecionado e apartir do segundo item, ele vai até o ExecuteNonQuery, mas não grava o segundo item e já pula para o Finally. Isso é que está no momento.
Responder Citar

12/04/2013

Joel Rodrigues

Acho que está dando uma exceção, não?
Limpe os parâmetro em cada iteração do loop:
for (int i = 0; i < _lista.Items.Count; i++)
{
cmmd.Parameters.Clear();
if (_lista.Items[i].Selected)
{
cmmd.Parameters.AddWithValue("idcadastro", _cadastro);
cmmd.Parameters.AddWithValue("nmtarefa", _lista.Items[i].Value);
cmmd.ExecuteNonQuery();
}
}
Responder Citar

12/04/2013

Pjava

Era isso mesmo. Pode fechar e se eu for colocar na conta essas ajudas de vocês, caraca! 100 anos de trampo não pagava. Obrigado por tudo.
Responder Citar

12/04/2013

Joel Rodrigues

Show de bola, PJava. Fico feliz que tenha resolvido o problema.
Um abraço e até a próxima.
Estou marcando este tópico como Concluído.
Responder Citar