C#: Preencher Combo com array | ZWAME Fórum
C#: Preencher Combo com array
Discussão em 'Programação' iniciada por redglory, 30 de Março de 2007. (Respostas: 1; Visualizações: 3152)
Tou a desenvolver um software para a minha tese de mestrado mas tou com um problema quando quero preencher uma combo box, que vai ficar com os clientes ligados ao servidor.
Tenho uma class chamada SocketListener que tem os contrutores. No programa do servidor é criado para cada cliente um objecto desta class, que fica com o socket associado ao cliente, e uma variavel global com o ID do cliente.
Na altura da criação do cliente, é adicionado este objecto, socketListener a um arraylist chamado _socketListenersList.
Depois quero fazer o display disso na combo, mostrando a mesma o ID.
this.ClientConnBox.DataSource = null;
this.ClientConnBox.Enabled = true;
this.ClientConnBox.DisplayMember = "socketListener.PDA_ID.ToString()";
this.ClientConnBox.DataSource = _socketListenersList;
-Reseto a soucer da combo onde esta vai buscar a info. tem de ser sempre assim.
-Depois, como a combo estava disabled, ou seja, mostrava so "nenhum cliente conectado" e a "cinzento", torno-a enabled para depois poder seleccionar o cliente.
-O display member seria a "variavel" do tipo string a qual a combo utilizaria para preencher os seus campos.
-Voltaria entao a referir que a datasource da combobox era o meu arraylist com os objectos da referida class.
Ja tentei varios tipos de display member mas nao consigo que a combo deixe de adicionar nos seus campos sempre Servidor.SocketListener onde Servidor é o programa e SocketListener é a class onde os objectos socketListener sao criados.
Apenas queria saber como fazer o display na combo do ID do cliente.
Utilizo este comando e realmente ele da-me o ID que quero, mas se o meter como display member da erro no debug. Isto claro pk quando adiciono na combo, ainda nao ta definido o Index, ou seja, o elemento que tou a seleccionar. Ja o tentei definir antes de meter o codigo que explikei anteriormente, so para experimentar e nao resulta.