Foros del Web » Programación para mayores de 30 ;) » .NET »

Sincronizar un combobox con textbox

Estas en el tema de Sincronizar un combobox con textbox en el foro de .NET en Foros del Web. Hola mi problema es el sig. necesito combinar mis textbox con mi combobox "colores", o sea que cuando le de click por ejemplo a modelo ...
  #1 (permalink)  
Antiguo 24/08/2005, 19:00
Avatar de JennyMedel  
Fecha de Ingreso: julio-2005
Mensajes: 25
Antigüedad: 18 años, 9 meses
Puntos: 0
Sincronizar un combobox con textbox

Hola mi problema es el sig. necesito combinar mis textbox con mi combobox "colores", o sea que cuando le de click por ejemplo a modelo 002020 se sincronice con mi combo"colores" y este me diga que modelo: 002020 es color "azul" lo estoy haciendo de esta manera solo que en vez de que me aparesca el color me aparece toda la lista de colores que tengo en mi tabla y no cambia cuando le doy sig

Private Sub Form4_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

OleDbDataAdapter1.Fill(datos, "colores")
' datos=new dataset
' vincula el combobox1 y muestra el primer miembro.
ComboBox1.DataSource = datos.Tables("colores")
ComboBox1.DisplayMember = _
datos.Tables("colores").Columns("color").ToString

' rellena los cuadros de texto con los valores correspondientes.
PopulateTextBoxes(0)

' formatea los cuadros de texto.
TextBox1.TextAlign = HorizontalAlignment.Right
TextBox2.TextAlign = HorizontalAlignment.Right
TextBox2.Text = Format(TextBox2.Text, "Currency")

' Assign Text property for labels.
Label1.Text = "modelo"
Label2.Text = "precio"

End Sub

Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As System.Object,ByVal e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged

' rellena los cuadros de texto con los valores correspondientes.
PopulateTextBoxes(ComboBox1.SelectedIndex)

End Sub

Sub PopulateTextBoxes(ByVal RowID As Integer)

the

Dim drw1 As DataRow = datos.Tables("colores").Rows(RowID)
TextBox1.Text = drw1("modelo")
TextBox2.Text = drw1("precio")

End Sub
__________________
("`-''-/").___..--''"`-._
`6_ 6 ) `-. ( ).`-.__.`)
(_Y_.)' ._ ) _ `._ `. ``-..-'
(ll).-'' (((!.' ((!.-'
J E N N Y
  #2 (permalink)  
Antiguo 30/08/2005, 08:27
Avatar de Andres95
Colaborador
 
Fecha de Ingreso: diciembre-2004
Mensajes: 1.802
Antigüedad: 19 años, 4 meses
Puntos: 38
Hay que mapear la fuente de datos en los controles... d:D

No se si te entendi bien pero podrias hacer algo asi...
de esta forma cada vez que se cambia la seleccion en el combo, tambien el contenido de los textboxes cambia....Ya que se asocia la vista del dataset con cada uno de los controles...




private void CargaCombo()
{
DataSet ds = new DataSet();

try
{
SqlConnection cnn = new SqlConnection(sConnectionString);
SqlDataAdapter da = new SqlDataAdapter(sSqlQuery,cnn);
da.TableMappings.Add("Table",<nombre de la tabla en el dataset>);
da.Fill(ds);

comboBox1.DataSource = ds.DefaultViewManager;
comboBox1.DisplayMember = <colunma a desplegar>;
textBox1.DataBindings.Add("Text",ds.DefaultViewMan ager,<colunma a desplegar>);
textBox2.DataBindings.Add("Text",ds.DefaultViewMan ager,<colunma a desplegar>);
}
catch(Exception ex)
{
MessageBox.Show("Error : " + ex.Message);
}

}
  #3 (permalink)  
Antiguo 01/09/2005, 16:43
Avatar de JennyMedel  
Fecha de Ingreso: julio-2005
Mensajes: 25
Antigüedad: 18 años, 9 meses
Puntos: 0
Gracias

Gracias por tu respuesta Andres pero, solo tube que hacer esto:

enlace = New Binding("SelectedValue", datos, "productos.id_departamento")
ComboBox2.DataBindings.Add(enlace)
enlace = Nothing

adaptador = New OleDbDataAdapter("SELECT id_departamento, departamento FROM departamentos", conn)
adaptador.Fill(datos, "departamentos")
ComboBox2.DataSource = datos.Tables("departamentos")
ComboBox2.DisplayMember = "departamento"
ComboBox2.ValueMember = "id_departamento"
' ComboBox2.SelectedIndex = 0
ComboBox2.SelectedItem = "CABALLERO"
__________________
("`-''-/").___..--''"`-._
`6_ 6 ) `-. ( ).`-.__.`)
(_Y_.)' ._ ) _ `._ `. ``-..-'
(ll).-'' (((!.' ((!.-'
J E N N Y
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:34.