none
Tela de Pesquisa e Selecionar um item ? RRS feed

  • Pergunta

  • Bom dia galera estou com dificuldade, estou fazendo um cadastro simples onde eu ja fiz o insert e deu tudo ok...agora estou com a idéia que é a seguinte estou nessa tela de cadastro de contatos e tenho um botão de pesquisar e queria abrir outra tela com todos os contatos para o usuario selecionar e clicar em ok e depois preencher a tela de cadastro de contatos para poder editar ou ler os dados!

    Alguem tem alguma idéia pq não estou sabendo como popular uma tela para o usuario pesquisar e me retornar um contato.

    Obrigado

    Wellington Arantes de Oliveira Júnior


    Wellington

    sexta-feira, 19 de outubro de 2012 14:19

Respostas

  • Wellington,

    Provavelmente o ListPicker resolva seu problema. Ele aparece como uma caixa de texto mas, ao tocá-la, será aberta uma lista de opções (igual ao dropdownlist), mas se existirem mais de 5 itens na lista, automaticamente será aberta uma janela nova esperando que um registro seja selecionado. Após a seleção, o conteúdo é retornado automaticamente para a caixa de texto. Abaixo segue o XAML e como popular no C#

    XAML:

    <TextBlock x:Name="tblCategoria" Text="Categoria" Foreground="{StaticResource PhoneAccentBrush}"/>
                    <toolkit:ListPicker x:Name="lstCategoria" ExpansionMode="ExpansionAllowed" SelectionChanged="lstCategoria_SelectionChanged">
                        <toolkit:ListPicker.FullModeItemTemplate>
                            <DataTemplate>
                                <Grid>
                                    <TextBlock Text="{Binding}" FontSize="36" FontFamily="{StaticResource PhoneFontFamilyLight}"/>
                                </Grid>
                            </DataTemplate>
                        </toolkit:ListPicker.FullModeItemTemplate>
                    </toolkit:ListPicker>

    C#

    IList<FOFkCategoriaDespesa> listaCategoria = null;
                IList<FOFkPagamentoMeio> listaPagamento = null;
    
                using (FingersOnFinanceContext ctx = new FingersOnFinanceContext(sConn))
                {
                    IQueryable<FOFkCategoriaDespesa> queryCategoria = ctx.FOFkCategoriaDespesas.OrderBy(c => c.CatDescricao).OrderByDescending(c => c.CatTipo);
                    IQueryable<FOFkPagamentoMeio> queryPagamento = ctx.FOFkPagamentoMeios.OrderBy(p => p.PagDescricao);
    
                    listaCategoria = queryCategoria.ToList();
                    listaPagamento = queryPagamento.ToList();
                }
    
                //Carrega lista de Categorias
                foreach (FOFkCategoriaDespesa c in listaCategoria)
                {
                    lstCategoriaValue.Items.Add(c.CatCodigo);
                    this.lstCategoria.Items.Add(c.CatDescricao);
                }

    Existe outra maneira de popular o ListPicker, mas como você está começando agora, vai entender mais facilmente este exemplo.

    Abraço.


    Andrey Kurka

    sexta-feira, 19 de outubro de 2012 21:29

Todas as Respostas

  • Wellington, 

    Postei no meu blog um exemplo de como fazer uma janela modal em ASP.Net que pode ser util para você

    http://www.brunoviegas.com.br/modal-asp-net-sem-jquery/

    Dentro dessa janela modal coloque um campo para pesquisa e um Grid.

    Caso precise de auxilio é só falar


    Bruno Viegas D. Ribeiro

    Analista Desenvolvedor de Sistemas
    www.brunoviegas.com.br
     

    sexta-feira, 19 de outubro de 2012 14:24
  • Opa obrigado pelo retorno aí...

    eu olhei seu codigo em Asp e não consegui e fiz de um jeito que não sei se vai dar certo.

    na tela de pesquisa coloquei um ListBox

    criei um medoto que traz todos o contatos

    public IList<Cliente> GetCliente()
            {
                IList<Cliente> lista = null;

                using (var ctx = new AntaresMobile(BancoDados.conn))
                {
                    //IQueryable<Cliente> query = ctx.Clientes;
                    IQueryable<Cliente> query = from p in ctx.Clientes orderby p.Nome select p;
                    //query = query.OrderBy(
                    lista = query.ToList();
                }
                return lista;
            }

     no load da tela de pesquisa coloquei o seguinte codigo que chama o getCliente e popula o ListBox;

    IList<Cliente> listas = this.GetCliente();

               

    foreach(Clientec inlistas)  "-"+ c.Nome.ToUpper());

    {

      listCliente.Items.Add(c.CodCliente.ToUpper() +

    }

    Ele preencheu mas como disse sou novato em Mobile e não sei se é melhor situação.

    Obrigado


    Wellington

    sexta-feira, 19 de outubro de 2012 19:27
  • Wellington,

    Provavelmente o ListPicker resolva seu problema. Ele aparece como uma caixa de texto mas, ao tocá-la, será aberta uma lista de opções (igual ao dropdownlist), mas se existirem mais de 5 itens na lista, automaticamente será aberta uma janela nova esperando que um registro seja selecionado. Após a seleção, o conteúdo é retornado automaticamente para a caixa de texto. Abaixo segue o XAML e como popular no C#

    XAML:

    <TextBlock x:Name="tblCategoria" Text="Categoria" Foreground="{StaticResource PhoneAccentBrush}"/>
                    <toolkit:ListPicker x:Name="lstCategoria" ExpansionMode="ExpansionAllowed" SelectionChanged="lstCategoria_SelectionChanged">
                        <toolkit:ListPicker.FullModeItemTemplate>
                            <DataTemplate>
                                <Grid>
                                    <TextBlock Text="{Binding}" FontSize="36" FontFamily="{StaticResource PhoneFontFamilyLight}"/>
                                </Grid>
                            </DataTemplate>
                        </toolkit:ListPicker.FullModeItemTemplate>
                    </toolkit:ListPicker>

    C#

    IList<FOFkCategoriaDespesa> listaCategoria = null;
                IList<FOFkPagamentoMeio> listaPagamento = null;
    
                using (FingersOnFinanceContext ctx = new FingersOnFinanceContext(sConn))
                {
                    IQueryable<FOFkCategoriaDespesa> queryCategoria = ctx.FOFkCategoriaDespesas.OrderBy(c => c.CatDescricao).OrderByDescending(c => c.CatTipo);
                    IQueryable<FOFkPagamentoMeio> queryPagamento = ctx.FOFkPagamentoMeios.OrderBy(p => p.PagDescricao);
    
                    listaCategoria = queryCategoria.ToList();
                    listaPagamento = queryPagamento.ToList();
                }
    
                //Carrega lista de Categorias
                foreach (FOFkCategoriaDespesa c in listaCategoria)
                {
                    lstCategoriaValue.Items.Add(c.CatCodigo);
                    this.lstCategoria.Items.Add(c.CatDescricao);
                }

    Existe outra maneira de popular o ListPicker, mas como você está começando agora, vai entender mais facilmente este exemplo.

    Abraço.


    Andrey Kurka

    sexta-feira, 19 de outubro de 2012 21:29