none
Llenar ComboBox Con 2 Campos Distintos De Una Tabla RRS feed

  • Pregunta

  • Hola Buenas tardes hay alguna forma de llenar un combobox con dos valores de distintos campos?, yo lo llebo de esta forma pero solo es para un valor: 
    Public Sub llenar_combonum()
    
            Try
                ' Referenciar el objeto DataSet'
                Dim ds_troq As DataSet = conexion_Baan.selectTable("Select numero from partes_estampadas")
    
                ComboBox5.DataSource = ds_troq.Tables(0)
                Me.ComboBox5.ValueMember = "numero"
                Me.ComboBox5.DisplayMember = "numero"
    
            Catch ex As Exception
                ' Se ha procudido un error'
                MessageBox.Show(ex.Message)
    
            End Try
    
    
        End Sub


    Cristian Murillo


    jueves, 1 de marzo de 2018 20:48

Respuestas

  • Hola Cristian o juan

    Asumiendo que tienes un dataTable asi como este de dotnetperls

    Llevas los campos que necesitas del dataTable (en mi caso dosificacion y paciente), los llevo a un Dictionary...

            private void Form1_Load(object sender, EventArgs e)
            {
    
                DataTable table = GetTable();
    
                Dictionary<int, string> FuenteCombo = new Dictionary<int, string>();
    
                foreach (DataRow fila in table.Rows)
                {
                    FuenteCombo.Add((int)fila["Dosage"], fila["Patient"].ToString());
                }
                comboBox1.DataSource = new BindingSource(FuenteCombo, null);
                comboBox1.DisplayMember = "Value";
                comboBox1.ValueMember = "key";
    
            }
    

    y para mostrarlos uso un evento click de un boton para mostrarme los campo que he seleccionado

            private void button1_Click(object sender, EventArgs e)
            {
                string key = ((KeyValuePair<int, string>)comboBox1.SelectedItem).Key.ToString();
                string value = ((KeyValuePair<int, string>)comboBox1.SelectedItem).Value;
                MessageBox.Show(key + "   " + value);
            }

    Fuentes esta y este

    • Marcado como respuesta JuanAurich23 jueves, 1 de marzo de 2018 21:38
    jueves, 1 de marzo de 2018 21:34