none
Problema ao capturar valor ComboBox em C# ! RRS feed

  • Pergunta

  • Tenho uma combobox que preencho assim:

    string

     

    sSQL = "SELECT [ID_ESTADO] As idEstado,[SIGL_ESTADO] + ' - ' + [DSC_ESTADO] As descEstado FROM [TB_Estados] ORDER BY descEstado ASC";

     

    SqlConnection oConn = new SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings["Gerencial"].ToString());

     

    try

    {

     

    SqlDataAdapter da = new SqlDataAdapter(sSQL, oConn);

     

    DataTable dtResultado = new DataTable();

    da.Fill(dtResultado);

    cboUF.DisplayMember =

    "descEstado";

    cboUF.ValueMember =

    "idEstado";

    dtResultado.Rows.Add(0,

    "Selecione...");

    cboUF.DataSource = dtResultado;

    cboUF.SelectedValue = 0;

    }

     

    catch (Exception ex)

    {

    }

     

    finally

    {

    oConn.Close();

     

    SqlConnection.ClearAllPools();

    }

    Quando tento pegar os valore, tenho os seguintes resultados:

    cboUF.SelectedValue = retorna 2 (correto, é o meu idEstado)

    cboUF.SelectedItem = retorna ("System.Data.DataRowView") - ERRADO, teria que retornar a minha descEstado, descrição do estado.

    cboUF.SelectedText = retorne ("") - ERRADO, retorna vazio.

    Alguém pode me ajudar ?

    sexta-feira, 23 de abril de 2010 20:29

Respostas

  • O SelectedItem neste caso que vc adicionou apartir de um DataTable irá retornar a linha inteira, com todo o objeto inteiro.

    Para vc pegar a descrição deve usar a propriedade Text e não SelectedText, quanto ao value está correto.

    Eu recomendo utilizar a propriedade selectedItem, e converter ela para System.Data.DataRowView, dai vc pode pegar os dois valores através do nome.


    Quem sabe um dia os DataSets se extinguirão?
    • Marcado como Resposta Rodrigo BF sexta-feira, 23 de abril de 2010 21:05
    sexta-feira, 23 de abril de 2010 21:00

Todas as Respostas

  • O SelectedItem neste caso que vc adicionou apartir de um DataTable irá retornar a linha inteira, com todo o objeto inteiro.

    Para vc pegar a descrição deve usar a propriedade Text e não SelectedText, quanto ao value está correto.

    Eu recomendo utilizar a propriedade selectedItem, e converter ela para System.Data.DataRowView, dai vc pode pegar os dois valores através do nome.


    Quem sabe um dia os DataSets se extinguirão?
    • Marcado como Resposta Rodrigo BF sexta-feira, 23 de abril de 2010 21:05
    sexta-feira, 23 de abril de 2010 21:00
  • Valeu amigo. Você me ajudou muito. Vlw
    sexta-feira, 12 de outubro de 2012 22:59