Ir para conteúdo
Fórum CódigoFonte.net
mosmmy

Combobox em C#

Recommended Posts

ola pessoal estou desenvolvendo um sistemazinho em c# ainda sou novato e preciso muito da vossa ajuda...por exemplo tenho uma combobox que mostra o nome que esta la contido mais eu queria que gravasse o id como faço isso. ajudem-me porfavor...

o metodo pra pegar o nome é este:

public List<Funcionario> ComboBox_Funcionarios()

{

string strSelec = "SELECT id_codigo, nome FROM Funcionarios";

List<Funcionario> lstCombo = new List<Funcionario>();

using (SqlConnection objConexao = new SqlConnection(strConexao))

{

using (SqlCommand objCommand = new SqlCommand(strSelec, objConexao))

{

objConexao.Open();

SqlDataReader objDataReader = objCommand.ExecuteReader();

if (objDataReader.HasRows)

{

while (objDataReader.Read())

{

Funcionario objFuncionario = new Funcionario();

objFuncionario.Código = Convert.ToInt32(objDataReader["id_codigo"].ToString());

objFuncionario.Nome = objDataReader["nome"].ToString();

lstCombo.Add(objFuncionario);

}

objDataReader.Close();

}

objConexao.Close();

}

}

return lstCombo;

}

e no evento Load do formulario onde tem o combobox e esse:

Funcionarios objCombo = new Funcionarios();

cboFuncionarios.DataSource = objCombo.ComboBox_Funcionarios();

cboFuncionarios.DisplayMember = "nome";

cboFuncionarios.ValueMember = "id_codigo";

ele mostra o nome mais a propriedade ValueMember não fica armazenado o id... ajudem- me

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá.

Pelo código observei que você associa "objFuncionario.Codigo", mas define o DisplayMember como "id_codigo".

Você deve referenciar a propriedade {get} do objeto Functionario correspondente ao ID para obter, então, o código.

Outra forma de você fazer isso é reescrever o método ToString na classe Funcionário:

public override string ToString()
        {
            return codigo.ToString();
        }

Que não é a mais correta, porque este método por padrão deve descrever o objeto.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Visitante
Responder

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Processando...

×
×
  • Criar Novo...