
Asignar Valor a Combobox -Programacion por capas
Publicado por Jose Fdo (10 intervenciones) el 08/03/2016 14:51:01
Saludos, actualmente estoy trabajando con capas un proyecto en C# y deseo llenar un ComboBox desde mi base de datos, por ahora ya logré llenar el combo con el nombre que será lo que verá el usuario, mi problema es cuando deseo operar con ese campo.
Mi tabla está compuesta por 2 campos[Nombre] y [Codigo], actualmente tengo lo siguiente en cada capa.
CAPA DATOS
CAPA NEGOCIO
CAPA PRESENTANCIÓN
Solo me muestra el nombre pero los valores siempre me asigna solo el ultimo.
Agradezco la ayuda y perdonen el codigo estoy empezando jejeje
Mi tabla está compuesta por 2 campos[Nombre] y [Codigo], actualmente tengo lo siguiente en cada capa.
CAPA DATOS
1
2
3
4
5
6
7
8
9
10
11
12
13
//Metodo para llenar Combobox
public DataTable LlenarCombo(String Sql, string Tabla, string Campo)
{
ConexBD.Open();
Sql = " SELECT "+ Campo + " FROM " + Tabla;
comando = new SqlCommand(Sql, ConexBD);
DataTable Datos = new DataTable();
Datos.Load(comando.ExecuteReader());
ConexBD.Close();
return Datos;
}
CAPA NEGOCIO
1
2
3
4
5
6
7
8
9
10
11
//Metodo para llenar los ComboBox
public DataTable ObtenerDatos()
{
string Consulta = "SELECT Pe_Codigo,Pe_Nombre FROM Perfil";
String Tabla = "Perfil";
string Campo = "Pe_Codigo, Pe_Nombre";
//string condicion = "";
DataTable DatosConsultados = Usuario.LlenarCombo(Consulta,Tabla,Campo);
return DatosConsultados;
}
CAPA PRESENTANCIÓN
1
2
3
4
5
6
7
8
9
public void LlenarComboBox()
{
DataTable datos = Insertar.ObtenerDatos();
foreach (DataRow registro in datos.Rows)
{
cmbPerfil.Items.Add(registro["Pe_Nombre"].ToString());
cmbPerfil.SelectedIndex = Convert.ToInt32(registro["Pe_Codigo"].ToString());
}
}
Solo me muestra el nombre pero los valores siempre me asigna solo el ultimo.
Agradezco la ayuda y perdonen el codigo estoy empezando jejeje
Valora esta pregunta


0