none
Pegar valor de um combo box de uma outra tela RRS feed

  • Pergunta

  • Tenho um combobox em outra tela e preciso pegar o valor dele,eu tentei pegar o valor criando uma class que chama uma função na tela do combobox mas o valor retorna null.

    Será que alguem poderia me ajudar?

    Desde ja mt obrigado!

    sexta-feira, 30 de novembro de 2012 13:06

Respostas

  • Você pode usar uma variável de sessão, exemplo:

       
    protected void Page_Load(object sender, EventArgs e)
        {
            Session["teste"] = "batata";
        }
    
        protected void Page_Load(object sender, EventArgs e)
        {
            try
            {
                Label1.Text = Session["teste"].ToString();
            }
            catch (Exception)
            {
    
            }
    
        }
    

    sexta-feira, 30 de novembro de 2012 14:22

Todas as Respostas

  • A tela é um objeto. Para acessar dados de um objeto, você precisa de, basicamente, duas coisas:

    1. Uma referência do objeto, no caso, uma referencia da sua outra janela.

    2. O dado que quer acessar precisa ser publico.

    Como você está na Tela1 e precisa acessar um dado da Tela2, então na Tela1 você necessita ter uma referencia do objeto da Tela2.

    Uma das formas de se obter essa referencia, é passá-la no construtor da Tela1:

    var tela1 = new Tela1(tela2);
    
    public class Tela1
    {
    public Tela1(Tela2 tela2) {...}
    }


    Take a look at WPF FlashMessage
    About.me

    sexta-feira, 30 de novembro de 2012 13:48
  • Você pode usar uma variável de sessão, exemplo:

       
    protected void Page_Load(object sender, EventArgs e)
        {
            Session["teste"] = "batata";
        }
    
        protected void Page_Load(object sender, EventArgs e)
        {
            try
            {
                Label1.Text = Session["teste"].ToString();
            }
            catch (Exception)
            {
    
            }
    
        }
    

    sexta-feira, 30 de novembro de 2012 14:22
  • Obrigado a todos pelas respostas.

    Vitor,

    Exatamente isso que gostariade fazer,tinha imaginado mais não puis em pratica.

    valew!!!!!!

    sexta-feira, 30 de novembro de 2012 15:58
  • Para pegar dados de um componente que se encontra em outra tela, será necessário trabalhar com o objeto Session do ASP.Net.

    Para isso, coloque o valor do componente desejado na sessão:

    Session["combobox"] = cmbExemplo.SelectedValue 

    Espero ter ajudado.


    Atenciosamente, Marcio Nogueira Cardoso Pinto.

    sexta-feira, 30 de novembro de 2012 19:00
  • Por que todos assumiram Asp.Net se isso sequer foi mencionado no post? =/

    Eu assumi Windows pois ele falou ComboBox. Se falasse DropDown assumiria Asp.net hehe


    Take a look at WPF FlashMessage
    About.me


    • Editado Joba Diniz sexta-feira, 30 de novembro de 2012 19:05
    • Marcado como Resposta vitor crisostomos segunda-feira, 3 de dezembro de 2012 12:40
    • Não Marcado como Resposta vitor crisostomos segunda-feira, 3 de dezembro de 2012 12:40
    sexta-feira, 30 de novembro de 2012 19:04
  • o que tu falou está correto, mas como estou começando na área de programação, isso foi uma coisa que não me atentei, mas você tem toda a razão, pela pergunta tudo indica mesmo um Windows form, abraços.
    sexta-feira, 30 de novembro de 2012 21:49