locked
Preencher combo com o retorno do WCF RRS feed

  • Pergunta

  • Bom dia

    O wcf retornou uma ObservableCollection. Como faço para pegar o nome de um objeto para preencher o combo?

    Combo.ItemsSource = e.Result;       

    Da forma acima está retornando "SilverlightApplication.ServiceReport.UnidadeInfo" três vezes porque tenho 3 registros.

    Att.

    Teles

     

    terça-feira, 24 de janeiro de 2012 11:28

Todas as Respostas

  • Olá, Teles

    Tente adicionar um item template, como exemplo.

    C# Code

    namespace Silver
    {
        public partial class combo : UserControl
        {
            public combo()
            {
                InitializeComponent();
                
                ObservableCollection<Usuario> ListUsuario = new ObservableCollection<Usuario>();
                
                ListUsuario.Add(new Usuario() { ID = "1", Nome = "Joaquim" });
                ListUsuario.Add(new Usuario() { ID = "2", Nome = "Jose" });
    
                cbx.ItemsSource = ListUsuario;
            }
    
    
        }
    
    
        public class Usuario
        {
            public string ID { get; set; }
            public string Nome { get; set; }       
                
        }
    }
    
    

     

    XAML

     <ComboBox Height="23" HorizontalAlignment="Left" Margin="60,52,0,0"   Name="cbx" VerticalAlignment="Top" Width="120" >
                <ComboBox.ItemTemplate>
                    <DataTemplate>
                        <StackPanel Orientation="Horizontal">
                            <TextBlock Text="{Binding ID}" Margin="5" />
                            <TextBlock Text="{Binding Nome}" Margin="5" />
                        </StackPanel>
                    </DataTemplate>
                </ComboBox.ItemTemplate>
      </ComboBox>
    

     


    Américo Arvani
    MCP Frw web 2.0 / MCPD (Enterprise Application Developer) Frw web/win/wcf 3.5
    MBA – Post Graduate in Strategic Management of Information Technology
    Se funcionou compartilhe a solução.
    http://americoarvani.blogspot.com
    View Americo Arvani's profile on LinkedIn
    terça-feira, 24 de janeiro de 2012 14:12
  • Eu faço assim:

    no xaml:

    <ComboBox x:Name="dropEspecialidade" ItemsSource="{Binding}" SelectedValuePath="idEspecialidade" DisplayMemberPath="Especialidade" Margin="71,0,0,0" Width="200" > 

    no codigo:

    ObservableCollection<objEspecialidade> lista = new ObservableCollection<objEspecialidade>();
    lista = e.Result;

    dropEspecialidade.ItemsSource = lista;
    dropEspecialidade.SelectedIndex = 0;

    //

    fazendo dessa forma, o dropdown irá mostrar no display (DisplayMemberPath) todas as especialidades e terá como valor selecionado (SelectedValuePath) o id da especialidade em questão. Postei um exemplo real, já em uso e funcionando perfeitamente.

    obs: "objEspecialidade" é uma classe do meu projeto que possui os campos idEspecialidade e Especialidade. O wcf retorna uma lista dessa classe.

     

    sexta-feira, 3 de fevereiro de 2012 14:25
  • No xaml não existe essa propiedade: SelectedValuePath.

    E agora?


    Júnior Pacheco

    quinta-feira, 20 de setembro de 2012 21:13
  • Bom dia, Pessoal.

    Jr. PachekOo

    Conforme citaram acima o preenchimento do combobox  eu realizo da mesma maneira, já na hora de recuperar o item selecionado prefiro usar o seguinte procedimento:

    ObjUsuario usuSelecionado = (ObjUsuario) ComboBox1.SelectedItem;

    Att.


    sexta-feira, 5 de outubro de 2012 12:32