Como eu percorro um CheckListBox

.NET

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

Pjava

Curtidas 0

Respostas

Pjava

Pjava

11/04/2013

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.
GOSTEI 0
Joel Rodrigues

Joel Rodrigues

11/04/2013

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

Pjava

11/04/2013

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.
GOSTEI 0
Joel Rodrigues

Joel Rodrigues

11/04/2013

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();
}
}
GOSTEI 0
Pjava

Pjava

11/04/2013

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.
GOSTEI 0
Joel Rodrigues

Joel Rodrigues

11/04/2013

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.
GOSTEI 0
POSTAR