1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

C#: Preencher Combo com array

Discussão em 'Programação' iniciada por redglory, 30 de Março de 2007. (Respostas: 1; Visualizações: 3059)

  1. redglory

    redglory Power Member

    Boas ppl,

    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.

    Isto é assim:

    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.

    Codigo:

    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.

    PS:
    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.

    Codigo:
    //TESTE = ((SocketListener)_socketListenersList[ClientConnBox.SelectedIndex]).PDA_ID;

    Alguem que perceba bem disto que me consiga explicar?

    Agradecia imenso pessoal.

    Abraços
     
  2. SoundSurfer

    SoundSurfer Power Member

Partilhar esta Página