none
MVC Telas de Cadastro RRS feed

  • Pergunta

  • Estou precisando incluir uma pesquisa dentro de um cadastro, como por exemplo no caso de um cadastro simples de cidade onde precisamos selecionar o estado, sendo nesse caso o uso do DropDownList perfeito pois a lista de estado não é tão extensa.

    Porém em alguns casos preciso filtrar a lista por algum parâmetro como no cadastro de Pedido que precisa selecionar um cliente ou até mesmo a inclusão de produtos nesse pedido.

    Gostaria de fazer algo do tipo, criar um Controle com uma View que retorno uma PartialView, vincular o valor selecionado nessa PartialView ao campo específico no Model onde estou utilizando esta PartialView se não selecionar alguma valor, usar a validação como se fosse um campo tradicional.

    Resumindo: gostaria de dentro do cadastro de cidade abrir uma pesquisa para os Estados cadastrados, porém preciso poder reaproveitar esta pesquisa de Estado em outros cadastros.

    Estou providenciando uma imagem pra exemplificar melhor, mas se alguém já tiver alguma ideia de como posso resolver este tipo de problema.

    quarta-feira, 3 de outubro de 2012 16:25

Respostas

  • Bloguei sobre isso hoje: http://andrebaltieri.net/

    André Baltieri
    MTAC – Microsoft Technical Audience Contributor

    Twitter: @andrebaltieri
    Blog: http://andrebaltieri.net

    • Marcado como Resposta Pablotdv sexta-feira, 5 de outubro de 2012 01:06
    quinta-feira, 4 de outubro de 2012 18:49

Todas as Respostas

  • Pablo, já passei por isso.

    A idéia foi:

    1 - Criar um jQuery UI Dialog, que renderiza uma partialView com os quesitos da busca.

    2 - No dialog, o usuário realiza a busca que o resultado pode ser duas ações

    2.1 - Se a busca retornar apenas 1 resultado, fecha o dialog e preenche o código do cliente do formulário que abriu o dialog

    2.2 - Caso retorno seja mais de um resultado, exibe uma lista, onde ao usuário clicar, preenche o código do cliente no formulário que abriu a dialog.

    Pra fazer isso foi mais ou menos assim

    Criei um controller para Cliente com um método Search nele, que retorna um jSon com uma lista (Com vários ou apenas 1) resultados.

    Na partial, eu recebo o retorno deste json, e preencho a lista, ou caso seja apenas 1 item, eu já preencho direto um textbox na tela chamado de CustomerCode (Padronizei este nome).

    Como fiz com partial views, esse código pode ser reaproveitado em todo projeto, o que ele faz é ter um script que chama a dialog toda vez que o usuário coloca o foco em um textbox chamado CustomerCode e sempre preenche este textbox com o retorno do dialog.



    André Baltieri
    MTAC – Microsoft Technical Audience Contributor

    Twitter: @andrebaltieri
    Blog: http://andrebaltieri.net

    quarta-feira, 3 de outubro de 2012 16:42
  • Para melhor explicação anexo algumas imagens.
    quarta-feira, 3 de outubro de 2012 16:43
  • Pablo, já passei por isso.

    A idéia foi:

    1 - Criar um jQuery UI Dialog, que renderiza uma partialView com os quesitos da busca.

    2 - No dialog, o usuário realiza a busca que o resultado pode ser duas ações

    2.1 - Se a busca retornar apenas 1 resultado, fecha o dialog e preenche o código do cliente do formulário que abriu o dialog

    2.2 - Caso retorno seja mais de um resultado, exibe uma lista, onde ao usuário clicar, preenche o código do cliente no formulário que abriu a dialog.

    Pra fazer isso foi mais ou menos assim

    Criei um controller para Cliente com um método Search nele, que retorna um jSon com uma lista (Com vários ou apenas 1) resultados.

    Na partial, eu recebo o retorno deste json, e preencho a lista, ou caso seja apenas 1 item, eu já preencho direto um textbox na tela chamado de CustomerCode (Padronizei este nome).

    Como fiz com partial views, esse código pode ser reaproveitado em todo projeto, o que ele faz é ter um script que chama a dialog toda vez que o usuário coloca o foco em um textbox chamado CustomerCode e sempre preenche este textbox com o retorno do dialog.



    André Baltieri
    MTAC – Microsoft Technical Audience Contributor

    Twitter: @andrebaltieri
    Blog: http://andrebaltieri.net

    Teria alguma exemplo simples que mostrasse isso em funcionamento?

    quarta-feira, 3 de outubro de 2012 16:48
  • Simples, simples não, pois envolve jQuery.

    Você pode começar pesquisando por "ASP.NET MVC Ajax.BeginForm" e "jQuery UI Dialog".

    Abraços,


    André Baltieri
    MTAC – Microsoft Technical Audience Contributor

    Twitter: @andrebaltieri
    Blog: http://andrebaltieri.net

    quarta-feira, 3 de outubro de 2012 21:03
  • Agradeço suas dicas, 

    vou intensificar meus estudos sobre estes temas.

    quarta-feira, 3 de outubro de 2012 22:02
  • Bloguei sobre isso hoje: http://andrebaltieri.net/

    André Baltieri
    MTAC – Microsoft Technical Audience Contributor

    Twitter: @andrebaltieri
    Blog: http://andrebaltieri.net

    • Marcado como Resposta Pablotdv sexta-feira, 5 de outubro de 2012 01:06
    quinta-feira, 4 de outubro de 2012 18:49