Usuário com melhor resposta
checkedlistbox

Pergunta
-
Bom galera tenho um form com um checkedlistbox
eu preencho ele com um dados do bd (MySql)
ate ai tudo bem!
o problema é para pegar o valor dos que estão "checked", ele me retorna isso "System.Data.DataRowView".
aqui eu carrego o checkedlistbox.
private void frmBuscaClientes_Load(object sender, EventArgs e) { sql = "describe cacambas.vw_cliente_end_contato;"; dtclientes = Exec.buscar(sql); clbClientes.DataSource = dtclientes; clbClientes.DisplayMember = "Field"; clbClientes.ValueMember = "Field"; }
carrega certinho.....
o problema esta aqui na hora de retornar os valores que foram checked:
private void btnBuscar_Click(object sender, EventArgs e) { int index = 0; if (clbClientes.CheckedItems.Count != 0) { // If so, loop through all checked items and print results. string parametros = ""; for (int i = 0; i <= clbClientes.CheckedItems.Count - 1; i++) { parametros = parametros + clbClientes.CheckedItems[i].ToString() + ","; } index = parametros.Length; if (parametros.Substring(index - 1) == ",") { //remove a ultima "," parametros = parametros.Remove(parametros.Length - 1); } // aqui mais codigo usando os parametros } }
ai em parametros é inserido isso para cada item checked: "System.Data.DataRowView"
alguem sabe como pego o valor , ou seja o mesmo que é exibido?
Respostas
-
Verifique assim:
(clbClientes.CheckedItems[i] as DataRowView).Row["Campo"].ToString()
Diego Cotini do Couto - MCTS .NET Framework 3.5, ASP.NET Applications
- Editado Diego Cotini segunda-feira, 14 de outubro de 2013 21:28
- Marcado como Resposta Michael A. Correia segunda-feira, 14 de outubro de 2013 23:46
Todas as Respostas
-
Está dando um ToString() no Item.
Precisa pegar o valor, verifique se não tem a propriedade Value, conforme:
clbClientes.CheckedItems[i].Value
Diego Cotini do Couto - MCTS .NET Framework 3.5, ASP.NET Applications
- Sugerido como Resposta Gustavo Gaigher segunda-feira, 14 de outubro de 2013 19:06
-
ele me retorna este erro?
Error 1 'object' does not contain a definition for 'Value' and no extension method 'Value' accepting a first argument of type 'object' could be found (are you missing a using directive or an assembly reference?)
- Sugerido como Resposta Gustavo Gaigher segunda-feira, 14 de outubro de 2013 19:06
-
Verifique dessa forma (onde "Campo" é o nome da coluna que contém o valor que deseja):
clbClientes.CheckedItems[i].Row["Campo"].ToString()
Diego Cotini do Couto - MCTS .NET Framework 3.5, ASP.NET Applications
- Sugerido como Resposta Gustavo Gaigher segunda-feira, 14 de outubro de 2013 19:06
-
o mesmo erro do anterior !
eu creio que tenha que alterar alguma propriedade do checkedlistbox que eu nao descobri ainda.
do mesmo modo que faz para ele aparecer na load do form.
- Sugerido como Resposta Gustavo Gaigher segunda-feira, 14 de outubro de 2013 19:06
-
-
Verifique assim:
(clbClientes.CheckedItems[i] as DataRowView).Row["Campo"].ToString()
Diego Cotini do Couto - MCTS .NET Framework 3.5, ASP.NET Applications
- Editado Diego Cotini segunda-feira, 14 de outubro de 2013 21:28
- Marcado como Resposta Michael A. Correia segunda-feira, 14 de outubro de 2013 23:46
-