none
DataBindings - conectando um controle a uma property de uma classe RRS feed

  • Pergunta

  • Estou conectando propriedades de uma classe a controles do form através da propriedade DataBindings. Não são datasets, mas sim classes comuns.
    Até aí, tudo normal, por ex.:

    txtNome.DataBindings.Add(New Binding("Text", objCliente, "NomeCliente"))

    Este código associa "objCliente.NomeCliente" à propriedade "Text" da textbox "txtNome". Meu problema agora é que preciso conectar um ítem de uma coleção (na verdade é uma indexed property) à uma textbox, ou seja, conectar algo como:
    objCliente.Enderecos("principal") a um controle.

    já tentei :
    txtNome.DataBindings.Add("Text", objCliente, "Enderecos(""NomeCliente"")")
    e
    txtNome.DataBindings.Add("Text", objCliente, "Enderecos('NomeCliente')")

    Mas parece que stou no caminho errado.

    Alguém saberia me dizer se existe uma maneira de fazer esse DataBinding?  É importante utilizar a classe como DataSource, pois ela faz todo o trabalho de validação enquanto o usuário mexe nos controles do form.

    Mais uma vez, agradeço antecipadamente a ajuda da comunidade!

    quarta-feira, 20 de setembro de 2006 13:15

Respostas

  • Olá Antônio, utilize o seguinte código para realizar este procedimento:

    textBox.DataBindings.Add(new Binding("Text", objCliente.Enderecos[0], "NomeRua"));

    Você precisa colocar o índice do endereço que quer utilizar, pois como é uma lista, somente assim o VS conseguirá saber de qual posição deve pegar o Nome da Rua.

    Se isto respondeu sua pergunta não esqueça de clicar em Respondido e de indicar que esta resposta lhe auxiliou.

    Um abraço,

    Marcelo.

    sexta-feira, 29 de setembro de 2006 06:31