Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
opa galera
sequinte.. to com um probleminha aqui .. to precisando ao editar um setor que me retorne uma lista dos responsaveis pelo setor em forma de ListItem ou algo similar para min poder manipular os ListBox com isso, mas nas classes * nas quais eu recupero do banco o valor eu nao consigo criar um objeto ListItem para "Montar" ele e servir a webform depois, como posso resolver ?
valwww
show =]
mass tipo sao dois valores neh .. o que vai exibi no caso o nome do responsavel e oque vai vale mesmo que eh o codigo.. entao teria que fazer uma list dos dois valores e junta tudo numa list de todos os list criados ?
e depois pra adiciona isso seria no ListBox.Item que é um collection entao teria 2 laços ?
obs: nao sei se ta certo to programando a poco tempo com vs e c# :P se alquem souber um jeito melhor de faze :P
valww
Faz assim cria uma nova classe:
public class Teste{
public string id {set; get;}
public string dados {set; get;}
}e na hora de preencher sua lista
var lista = new List<Teste>();
lista.Add( new Teste { id = "valor", dados = "exibição" } );
lista.Add( new Teste { id = "valor1", dados = "exibição1" } );
Assim na hora de pecher qualquer coisa você terá os dois valores.boa fera =] brigadao
mas.. a duvida agora .. como eu insiro ele.. tipo pra pega o item e i passando e adicionando eu preciso faze um foreach e pra acessa a ListItem eu tambem preciso faze um foreach .. ?
tipo assim
foreach( ListItem Lista in Listbox.Item)
{
list.text = ???;
list.value = ???;
}
e para o list<referencia> preciso faze assim
foreach(Referencia ref in Lista )
{
??? = referencia.codigo;
??? = referencia.nome;
}
public class Referencia
{
public int codigo{set;get;}
public string nome{set;get;}
}
public List<Referencia> SelectReferencia(string codigo)
{
string sql = "SELECT PRT_SETOR_RESPONSAVEL.CODIGOMEDICO, coalesce(SAU_MEDICOS.NOMEMEDICO,'') FROM PRT_SETOR_RESPONSAVEL LEFT OUTER JOIN SAU_MEDICOS ON PRT_SETOR_RESPONSAVEL.CODIGOMEDICO = SAU_MEDICOS.CODIGOMEDICO WHERE STR_CODIGO = " + codigo;
ConnectionManager cn = new ConnectionManager();
DataTable dtp = cn.consultaDt(sql);
DataTableReader dtr = new DataTableReader(dtp);
List<Referencia> lista = new List<Referencia>();
while (dtr.Read())
{
Referencia item = new Referencia();
item.codigo = dtr.GetInt32(0);
item.nome = dtr.GetString(1);
lista.Add(item);
}
return lista;
}Pra ficar mais claro, o que você deseja fazer realmente. vejo que ja conseguiu preencher a List com seus objetos. Ou sua lista ja esta cheia o que deseja fazer com ela?
em 1( tem 2 ) é so adiciona os items normal( os objetos que estao na list em forma de items na listbox ) e no otro esta com todos os items ae tem que remove esses que ja tem na list
tipo pra cadastra funciona assim.. tem a listbox com todos os responsaveis e dai tu poen em adicionar dai o item com o dado dos responsaveis vai pro listbox do lado e no final ele vai cadastrando os responsaveis pelo setor que ta naquele listbox
eu qria fazer algo parecido pra editar dai preciso traze os list box com os que ja tao cadastrado =]
valww
consegui =] so falta ums detalhes agora.. mass o topico ta resolvido :D
valww ivan
List<Referencia> lis = Bllotra.SelectReferencia(Pk);
ListItemCollection listareferncia = new ListItemCollection();
//Monta a collection dos ListItem
foreach(Referencia dados in lis)
{
ListItem item = new ListItem();
item.Text = dados.nome;
item.Value = dados.codigo.ToString();
listareferncia.Add(item);
}
//Monta as ListBox
foreach (ListItem itemref in listareferncia)
{
LBResponsaveisSetorEdicao.Items.Add(itemref);
LBResponsaveisEdicao.Items.Remove(itemref);
}
Você tem que cria uma List<string> para poder manipular.