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 originalPrivate Sub ToolBarMenuClientes_ButtonClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.ToolBarButtonClickEventArgs) Handles ToolBarMenuClientes.ButtonClick
If e.Button Is Me.ToolBarButton1 Then
PreparoCrear()
End If
If e.Button Is Me.ToolBarButton2 Then
PreparoModificar()
End If
If e.Button Is Me.ToolBarButton3 Then
PreparoEliminar()
End If
If e.Button Is Me.ToolBarButton4 Then
PreparoBuscar()
End If
End Sub
1.1 Preparo Crear:
Código vb:
Ver originalPrivate Sub PreparoCrear()
lblfondo.Text = "GESTIÓN CLIENTES - NUEVA ALTA"
grpboxModificar.Visible = False
grpboxAlta.Visible = True
estado = "Nueva Alta"
CodigoCliente = CodigoCliente + 1
txtSocio.Text = CodigoCliente
End Sub
1.2 Creo el cliente y guardo los datos en el Array:
Código vb:
Ver originalPrivate Sub btnRegistrar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnRegistrar.Click
Try
Dim check As Boolean = True
Dim ListaGeneros() As String
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
If check = True Then
If radioF.Checked = True Then
radioM.Checked = False
Else
radioM.Checked = True
End If
End If
check = False
If check = False Then
Dim Clientes As New ListaClientes
Clientes.Socio = txtSocio.Text
Clientes.Dni = txtDNI.Text
Clientes.Nombre = txtNombre.Text
Clientes.Poblacion = comboPob.SelectedText
Clientes.Apellidos = txtApellidos.Text
Clientes.Provincia = comboProv.SelectedText
Clientes.Direccion = txtDireccion.Text
Clientes.CodigoPostal = txtPostal.Text
Clientes.Telefono = txtTelefono.Text
Clientes.Foto = DirImage
If radioF.Checked = True Then
Clientes.Sexo = "Femenino"
ElseIf radioM.Checked = True Then
Clientes.Sexo = "Masculino"
ElseIf radioF.Checked = False And radioM.Checked = False Then
Clientes.Sexo = ""
End If
Clientes.Observacion = txtObservacion.Text
If ckEdad.Checked = False Then
Clientes.Edad = "no"
Else
Clientes.Edad = "si"
End If
Dim i = 0
For i = 0 To ChkListGenero.CheckedItems.Count - 1
ReDim Preserve ListaGeneros(i)
ListaGeneros(i) = ChkListGenero.CheckedItems.Item(i)
Next
For i = 0 To UBound(ListaGeneros)
Clientes.Genero(i) = ListaGeneros(i)
numGeneros += 1
Next
insertarDatosArray(Clientes)
LimpioCasillasAlta()
End If
Else
MessageBox.Show("Faltan datos por rellenar", "Error", MessageBoxButtons.AbortRetryIgnore, MessageBoxIcon.Stop)
End If
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
End Sub
2. Modifico el cliente (Para buscar su codigo): ToolBarMenuClientes -> Modificar
Código vb:
Ver originalPrivate Sub ToolBarMenuClientes_ButtonClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.ToolBarButtonClickEventArgs) Handles ToolBarMenuClientes.ButtonClick
If e.Button Is Me.ToolBarButton1 Then
PreparoCrear()
End If
If e.Button Is Me.ToolBarButton2 Then
PreparoModificar()
End If
If e.Button Is Me.ToolBarButton3 Then
PreparoEliminar()
End If
If e.Button Is Me.ToolBarButton4 Then
PreparoBuscar()
End If
End Sub
2.1 Preparo Modificar:
Código vb:
Ver originalPrivate Sub PreparoModificar()
lblfondo.Text = "GESTIÓN CLIENTES - MODIFICACIÓN"
grpboxAlta.Visible = False
grpboxModificar.Visible = True
DesactivoCasillas()
btnActivaModificar.Visible = True
btnGuardarModificar.Text = "Guardar"
estado = "Modificación"
End Sub
2.2 Desactivo Casillas:
Código vb:
Ver originalPrivate Sub DesactivoCasillas()
txtNombreModificar.ReadOnly = True
txtApellidosModificar.ReadOnly = True
txtDireccionModificar.ReadOnly = True
txtTelefonoModificar.ReadOnly = True
txtPostalModificar.ReadOnly = True
txtObservacionesModificar.ReadOnly = True
panelGenObsModificar.Enabled = False
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 originalPrivate Sub cbSociosModificar_MouseClick(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles cbSociosModificar.MouseClick
CargoClientes()
End Sub
3.1 CargoClientes:
Código vb:
Ver originalPrivate Sub CargoClientes()
Dim i As Byte
If usuarios = 0 Then
MessageBox.Show("No hay clientes dados de alta para consultar", "Error", MessageBoxButtons.OK, MessageBoxIcon.Information)
Else
For i = 0 To UBound(Clientes)
cbSociosModificar.Items.Add(Clientes(i).Socio)
Next
End If
End Sub
3.2 Relleno los datos en el form:
Código vb:
Ver originalPrivate Sub cbSociosModificar_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles cbSociosModificar.SelectedIndexChanged
Dim aux As Integer, i As Integer
aux = cbSociosModificar.SelectedIndex
txtNombreModificar.Text = Clientes(aux).Nombre
comboPobModificar.SelectedText = Clientes(aux).Poblacion
txtApellidosModificar.Text = Clientes(aux).Apellidos
comboProvModificar.SelectedText = Clientes(aux).Provincia
txtDireccionModificar.Text = Clientes(aux).Direccion
txtPostalModificar.Text = Clientes(aux).CodigoPostal
txtTelefonoModificar.Text = Clientes(aux).Telefono
FotoClienteModificar.ImageLocation = Clientes(aux).Foto
FotoClienteModificar.SizeMode = PictureBoxSizeMode.StretchImage
txtObservacionesModificar.Text = Clientes(aux).Observacion
If Clientes(aux).Sexo = "Femenino" Then
radioFModificar.Checked = True
radioMModificar.Checked = False
Else
radioFModificar.Checked = False
radioMModificar.Checked = True
End If
If Clientes(aux).Edad = "no" Then
ckEdadModificar.Checked = False
Else
ckEdadModificar.Checked = True
End If
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.