none
Preencher um GridView em outra página RRS feed

  • Pergunta

  • Estou desenvolvendo um projeto asp.net, nesse projeto eu tenho 2 páginas, 1 com o layout principal e outra com a lista de produtos.

    Existe na primeira página(principal) um botão listar que redireciona para a segunda página com um GridView nela.

    Na página principal eu tenho um textbox onde eu insiro um código e outro onde eu insiro a descrição, e também um DropDownList onde eu escolho um tipo do produto. Eu quero armazenar eles numa lista ou tabela (arraylist ou DataTable), para então enviálos ao GridView da outra página.

    1- Qual melhor eu usar, o List ou um DataTable?

    2-Como eu faço pra pegar meu List ou DataTable, de uma página e mostrar no gridview da outra página?

    eu tentei GridView.DataSource e GridView.Databind mas ele diz que não reconhece meu DataTable que está em outra página.

    Se eu fizer o DataTable na mesma página do GridView ele não reconhece os Text Boxs e o DropDownList que está na página principal. Se eu conseguir fazer ele reconhecer o table ou os texts boxs eu axo que consigo fazer o resto.

    Desde ja agradeço pela atenção.

    sexta-feira, 23 de março de 2012 13:50

Respostas

  • Cara da para vc utilizar o Session.

    Cria um método para receber os parâmetros.

    Apos vc carregar as Session vc passa para outra pagina.

    Exemplo

    Session.Add("parametros1", TextBox1.text);

    Session.Add("parâmetros", TextBox2.text);

    Page.RegisterStartupScript("", "<script> 'Pagina.aspx'</script>");

    Na pagina que vc irá receber os parametros vc coloca assim.

    Session["parametros1"].ToString()  /* aqui vc recupera o valor do textBox1 */

    Session["parametros2"].ToString() /* aqui vc recupera o valor do textBox2 */

    E isso serve para Dropdownlist e outros objetos.



    CASO A RESPOSTA TENHA AJUDADO FAVOR MARCAR COMO RESPONDIDA.

    • Marcado como Resposta Rafael..85 segunda-feira, 26 de março de 2012 18:11
    sexta-feira, 23 de março de 2012 18:46

Todas as Respostas

  • Bom dia.

    Você pode fazer assim:

    1 - No botão que redireciona para a segunda página:

            string url;
    	url="form2.aspx?codigo=" + TextBox1.Text + "&nome=" + TextBox2.Text + "&desricao=" + dropdow.text;
    	Response.Redirect(url);

    No load da sua página onde o grid será recupere estes valores e alimenta sua grid:

    Request.QueryString["codigo"];

    ...



    Consultoria .NET
    ANALISTA DESENVOLVEDOR
    Se esta sugestão for útil, por favor, classifique-a como útil.
    Se ela lhe ajudar a resolver o problema, por favor, marque-a como resposta.
    Blog .Net Descomplicado

    sexta-feira, 23 de março de 2012 14:21
  • Não sei se esse código não se adapta ao meu programa ou se eu não entendi direito como funciona, mas das maneiras que eu tentei implementar ele não funcionou, agradeço pelo interesse e pela atenção, ja me ajudou a começar a pensar em algo que possa funcionar.
    sexta-feira, 23 de março de 2012 16:27
  • Posta o código que você implementou, o código de exemplo é exatamente o que você precisa.


    Consultoria .NET
    ANALISTA DESENVOLVEDOR
    Se esta sugestão for útil, por favor, classifique-a como útil.
    Se ela lhe ajudar a resolver o problema, por favor, marque-a como resposta.
    Blog .Net Descomplicado

    sexta-feira, 23 de março de 2012 18:08
  • Cara da para vc utilizar o Session.

    Cria um método para receber os parâmetros.

    Apos vc carregar as Session vc passa para outra pagina.

    Exemplo

    Session.Add("parametros1", TextBox1.text);

    Session.Add("parâmetros", TextBox2.text);

    Page.RegisterStartupScript("", "<script> 'Pagina.aspx'</script>");

    Na pagina que vc irá receber os parametros vc coloca assim.

    Session["parametros1"].ToString()  /* aqui vc recupera o valor do textBox1 */

    Session["parametros2"].ToString() /* aqui vc recupera o valor do textBox2 */

    E isso serve para Dropdownlist e outros objetos.



    CASO A RESPOSTA TENHA AJUDADO FAVOR MARCAR COMO RESPONDIDA.

    • Marcado como Resposta Rafael..85 segunda-feira, 26 de março de 2012 18:11
    sexta-feira, 23 de março de 2012 18:46
  • editando: Ae pessoal obrigado pela a ajuda foi um sucesso, minha DataTable agora está sendo exibida no GridView em outra página, utilizando o Session espero que esse tópico sirva para ajudar outras pessoas porque eu demorei um tempo pra conseguir aqui.

    Agora eu to precisando adcionar novos items na table sem apagar o anterior toda vez que eu clica no botão incluir, como se ela salvasse os dados antigos, só que eu quero fazer isso sem o banco de dados, se alguem souber de algo que possa me ajudar eu agradeço. se eu descobrir algo novo atualizarei. vlw

    • Editado Rafael..85 segunda-feira, 26 de março de 2012 18:11
    segunda-feira, 26 de março de 2012 17:38