Ver Mensaje Individual
  #3 (permalink)  
Antiguo 05/02/2010, 05:44
chechu84
 
Fecha de Ingreso: febrero-2010
Mensajes: 10
Antigüedad: 15 años, 1 mes
Puntos: 1
Respuesta: Cargar datos de un array en un ComboBox

Buenas Malenko,

Te pego, en orden de ejecución lo que hace el programa a la hora de cargar lso datos:

1. Creo que Cliente: ToolBarMenuClientes -> Crear

Código vb:
Ver original
  1. Private Sub ToolBarMenuClientes_ButtonClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.ToolBarButtonClickEventArgs) Handles ToolBarMenuClientes.ButtonClick
  2.         If e.Button Is Me.ToolBarButton1 Then
  3.             PreparoCrear()
  4.         End If
  5.  
  6.         If e.Button Is Me.ToolBarButton2 Then
  7.             PreparoModificar()
  8.         End If
  9.  
  10.         If e.Button Is Me.ToolBarButton3 Then
  11.             PreparoEliminar()
  12.         End If
  13.  
  14.         If e.Button Is Me.ToolBarButton4 Then
  15.             PreparoBuscar()
  16.         End If
  17.  
  18.     End Sub

1.1 Preparo Crear:

Código vb:
Ver original
  1. Private Sub PreparoCrear()
  2.         lblfondo.Text = "GESTIÓN CLIENTES - NUEVA ALTA"
  3.         grpboxModificar.Visible = False
  4.         grpboxAlta.Visible = True
  5.         estado = "Nueva Alta"
  6.         CodigoCliente = CodigoCliente + 1
  7.         txtSocio.Text = CodigoCliente
  8.     End Sub

1.2 Creo el cliente y guardo los datos en el Array:

Código vb:
Ver original
  1. Private Sub btnRegistrar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnRegistrar.Click
  2.         Try
  3.             Dim check As Boolean = True
  4.             Dim ListaGeneros() As String
  5.  
  6.             If txtDNI.Text <> "" And txtNombre.Text <> "" And comboPob.Text <> "" And txtApellidos.Text <> "" And comboProv.Text <> "" And txtDireccion.Text <> "" And txtPostal.Text <> "" And txtTelefono.Text <> "" And txtObservacion.Text <> "" And ChkListGenero.Items.Count <> 0 Then
  7.                 If check = True Then
  8.                     If radioF.Checked = True Then
  9.                         radioM.Checked = False
  10.                     Else
  11.                         radioM.Checked = True
  12.                     End If
  13.                 End If
  14.  
  15.                 check = False
  16.  
  17.                 If check = False Then
  18.                     Dim Clientes As New ListaClientes
  19.  
  20.                     Clientes.Socio = txtSocio.Text
  21.                     Clientes.Dni = txtDNI.Text
  22.                     Clientes.Nombre = txtNombre.Text
  23.                     Clientes.Poblacion = comboPob.SelectedText
  24.                     Clientes.Apellidos = txtApellidos.Text
  25.                     Clientes.Provincia = comboProv.SelectedText
  26.                     Clientes.Direccion = txtDireccion.Text
  27.                     Clientes.CodigoPostal = txtPostal.Text
  28.                     Clientes.Telefono = txtTelefono.Text
  29.                     Clientes.Foto = DirImage
  30.  
  31.                     If radioF.Checked = True Then
  32.                         Clientes.Sexo = "Femenino"
  33.                     ElseIf radioM.Checked = True Then
  34.                         Clientes.Sexo = "Masculino"
  35.                     ElseIf radioF.Checked = False And radioM.Checked = False Then
  36.                         Clientes.Sexo = ""
  37.                     End If
  38.  
  39.                     Clientes.Observacion = txtObservacion.Text
  40.  
  41.                     If ckEdad.Checked = False Then
  42.                         Clientes.Edad = "no"
  43.                     Else
  44.                         Clientes.Edad = "si"
  45.                     End If
  46.  
  47.                     Dim i = 0
  48.  
  49.                     For i = 0 To ChkListGenero.CheckedItems.Count - 1
  50.                         ReDim Preserve ListaGeneros(i)
  51.                         ListaGeneros(i) = ChkListGenero.CheckedItems.Item(i)
  52.                     Next
  53.  
  54.                     For i = 0 To UBound(ListaGeneros)
  55.                         Clientes.Genero(i) = ListaGeneros(i)
  56.                         numGeneros += 1
  57.                     Next
  58.  
  59.                     insertarDatosArray(Clientes)
  60.                     LimpioCasillasAlta()
  61.                 End If
  62.             Else
  63.                 MessageBox.Show("Faltan datos por rellenar", "Error", MessageBoxButtons.AbortRetryIgnore, MessageBoxIcon.Stop)
  64.             End If
  65.         Catch ex As Exception
  66.             MessageBox.Show(ex.Message)
  67.         End Try
  68.     End Sub

2. Modifico el cliente (Para buscar su codigo): ToolBarMenuClientes -> Modificar

Código vb:
Ver original
  1. Private Sub ToolBarMenuClientes_ButtonClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.ToolBarButtonClickEventArgs) Handles ToolBarMenuClientes.ButtonClick
  2.         If e.Button Is Me.ToolBarButton1 Then
  3.             PreparoCrear()
  4.         End If
  5.  
  6.         If e.Button Is Me.ToolBarButton2 Then
  7.             PreparoModificar()
  8.         End If
  9.  
  10.         If e.Button Is Me.ToolBarButton3 Then
  11.             PreparoEliminar()
  12.         End If
  13.  
  14.         If e.Button Is Me.ToolBarButton4 Then
  15.             PreparoBuscar()
  16.         End If
  17.  
  18.     End Sub

2.1 Preparo Modificar:

Código vb:
Ver original
  1. Private Sub PreparoModificar()
  2.         lblfondo.Text = "GESTIÓN CLIENTES - MODIFICACIÓN"
  3.         grpboxAlta.Visible = False
  4.         grpboxModificar.Visible = True
  5.  
  6.         DesactivoCasillas()
  7.         btnActivaModificar.Visible = True
  8.         btnGuardarModificar.Text = "Guardar"
  9.         estado = "Modificación"
  10.     End Sub

2.2 Desactivo Casillas:

Código vb:
Ver original
  1. Private Sub DesactivoCasillas()
  2.         txtNombreModificar.ReadOnly = True
  3.         txtApellidosModificar.ReadOnly = True
  4.         txtDireccionModificar.ReadOnly = True
  5.         txtTelefonoModificar.ReadOnly = True
  6.         txtPostalModificar.ReadOnly = True
  7.         txtObservacionesModificar.ReadOnly = True
  8.         panelGenObsModificar.Enabled = False
  9.     End Sub

Hasta aqui todo bien no? demomento no ha entrado en juego el Combobox, ahora, como el cliente esta creado en el array, posicion 0, al hacer click en el combobox deberia aparecer el Numero de Socio, como identificardor, que al seleccionarlo rellenara las casillas con sus datos:

3.0 Hacemos CLick en el combobox:

Código vb:
Ver original
  1. Private Sub cbSociosModificar_MouseClick(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles cbSociosModificar.MouseClick
  2.         CargoClientes()
  3.     End Sub

3.1 CargoClientes:

Código vb:
Ver original
  1. Private Sub CargoClientes()
  2.         Dim i As Byte
  3.         If usuarios = 0 Then
  4.             MessageBox.Show("No hay clientes dados de alta para consultar", "Error", MessageBoxButtons.OK, MessageBoxIcon.Information)
  5.         Else
  6.             For i = 0 To UBound(Clientes)
  7.                 cbSociosModificar.Items.Add(Clientes(i).Socio)
  8.             Next
  9.         End If
  10.     End Sub

3.2 Relleno los datos en el form:

Código vb:
Ver original
  1. Private Sub cbSociosModificar_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles cbSociosModificar.SelectedIndexChanged
  2.         Dim aux As Integer, i As Integer
  3.  
  4.         aux = cbSociosModificar.SelectedIndex
  5.  
  6.         txtNombreModificar.Text = Clientes(aux).Nombre
  7.         comboPobModificar.SelectedText = Clientes(aux).Poblacion
  8.         txtApellidosModificar.Text = Clientes(aux).Apellidos
  9.         comboProvModificar.SelectedText = Clientes(aux).Provincia
  10.         txtDireccionModificar.Text = Clientes(aux).Direccion
  11.         txtPostalModificar.Text = Clientes(aux).CodigoPostal
  12.         txtTelefonoModificar.Text = Clientes(aux).Telefono
  13.         FotoClienteModificar.ImageLocation = Clientes(aux).Foto
  14.         FotoClienteModificar.SizeMode = PictureBoxSizeMode.StretchImage
  15.         txtObservacionesModificar.Text = Clientes(aux).Observacion
  16.  
  17.         If Clientes(aux).Sexo = "Femenino" Then
  18.             radioFModificar.Checked = True
  19.             radioMModificar.Checked = False
  20.         Else
  21.             radioFModificar.Checked = False
  22.             radioMModificar.Checked = True
  23.         End If
  24.  
  25.         If Clientes(aux).Edad = "no" Then
  26.             ckEdadModificar.Checked = False
  27.         Else
  28.             ckEdadModificar.Checked = True
  29.         End If
  30.     End Sub

Espero que todo esto te sirva de ayuda... es casi casi todo el código, por no decir todo hehehe.

gracias otra vez.

Chechu.