e-coffeeTech | conocimiento sobre diferentes tecnologias

 

Bienvenido, Invitado
Nombre de Usuario: Contraseña: Recordarme
Aquí colocaremos todos los foros relacionados a Visual Basic.Net

TEMA: Enlazar un TextEdit con un GridControl

Enlazar un TextEdit con un GridControl 2 años 5 meses antes #256

  • rafa
  • Avatar de rafa
Hola a todos, soy recien llegado y me gustaria aprender el Visual Basic.net y veo que aqui soy unos fabulosos expertos.
Bueno, mis inquietudes son las siguientes:
Tengo dos TextEdit, un GridControl y unos botones (personalizados) para poder navegar por los registros.
1. Me gustaria saber que hacer para cuando doy de alta un registro se me actualize el Grid
2. Si lecciono una fila del Grid que me ponga los valores de las columnas en los TextEdit
3. Cuando modifico un valor del TextEdit y actualizo la base de datos que se me actualize el Grid
(me gustaria poner una imagen del formulario, pero aun no sé como ponerla)
El administrador ha desactivado la escritura pública.

Re:Enlazar un TextEdit con un GridControl 2 años 5 meses antes #257

  • JuanJo
  • Avatar de JuanJo
Hola Rafa!

A continuación te respondo entre lineas

1. Me gustaria saber que hacer para cuando doy de alta un registro se me actualize el Grid
Respuesta: lo que debes hacer es crear un método o función para llenar el gridControl con los datos de la tabla y cuando ejecutes la inserción inmediatamente después debes invocar dicho método

2. Si lecciono una fila del Grid que me ponga los valores de las columnas en los TextEdit
Respuesta: Debes crear un método o función (Otro, que se podria llamar enlazaCampos() o algo asi) el cual invoques una vez desde el método que llene el gridcontrol (el que crearías en el punto 1) y dentro del cual se hará el enlace de los campos y el grid de la siguiente manera
xControl1.DataBindings.Clear()
xControl1.DataBindings.Add("EditValue",gridControl.DataSource,"xControl1",false, Windows.Forms.DataSourceUpdateMode.Never)

xControl2.DataBindings.Clear()
xControl2.DataBindings.Add("EditValue",gridControl.DataSource,"xControl2",false, Windows.Forms.DataSourceUpdateMode.Never)

xControl3.DataBindings.Clear()
xControl3.DataBindings.Add("EditValue",gridControl.DataSource,"xControl3",false, Windows.Forms.DataSourceUpdateMode.Never)

3. Cuando modifico un valor del TextEdit y actualizo la base de datos que se me actualize el Grid
Respuesta: Lo mismo que la 1

Para referencias del punto 1 y 2 puedes ver este video: www.e-coffeetech.com/ayuda-devexpress/ne...minar-registros.html

NOTA: La imagen la puedes adjuntar en el la parte de abajo donde dice "Escoger imagen a adjuntar"

Espero tus comentarios.

Saludos
El administrador ha desactivado la escritura pública.

Re:Enlazar un TextEdit con un GridControl 2 años 5 meses antes #258

  • rafa
  • Avatar de rafa
gracias Karma, voy a ver el enlace y te comento.
El administrador ha desactivado la escritura pública.

Re:Enlazar un TextEdit con un GridControl 2 años 5 meses antes #259

  • rafa
  • Avatar de rafa
Hola de nuevo. Juanjo he visto el enlace que me indicas... como unas 3/4 veces y hay algunas cosas que tengo que profundizar mas.
Ya tengo solucionado el tema de las altas y modificaciones para que me actualize el GridControl, te comento:
Entre en el Run-Designer del GridControl
- Feature Browser
- Data Binding
- Data Source -> Agregar origen de datos (asistente), segui los pasos y me creo lo siguiente:
BS_Usuarios (BindingSource), DS_Usuarios (DataSource) y TA_Usuarios (TableAdapter)

Cree el siguiente procedimiento:
Private Sub Cargar_gcUsuarios()
Me.DS_Usuarios.Clear()
Me.TA_Usuarios.Fill(Me.DS_Usuarios.tbUsuarios)
End Sub

en el Load del formulario hago una llamada a la función.

y ademas tengo otra funcion para cargar la tabla, que es llamada despues de hacer una Alta, una modificacion o una baja, por lo que también me actualiza el GridControl

Private Sub CargarTabla()
mSQL = "SELECT * FROM tbUsuarios"
ConectarBBDD(BDGral)
'Crear el DataAdapter
Me.oDA = New SqlDataAdapter(mSQL, mConexion)
'Crear el DataSet
Me.oDS = New DataSet()
mConexion.Open()
'Lenar con el Adaptador el DataSet
Me.oDA.Fill(oDS, tbUsuarios)
mConexion.Close()
'Cargar las columnas del registro en los controles del formulario
mPosFilaActual = (Me.oDS.Tables(tbUsuarios).Rows.Count - 1)

PintarDatosEnControles()
Cargar_gcUsuarios()
End Sub

Ahora me falta saber como hacer lo siguiente:
- Cuando navego, que se me marque la fila del GridControl según el registro actual
- Cuando selecciono una fila del GridControl que me ponga los valores de las columnas en los TextEdit
FrmUsuarions.png
Última Edición: 2 años 5 meses antes por rafa.
El administrador ha desactivado la escritura pública.

Re:Enlazar un TextEdit con un GridControl 2 años 5 meses antes #260

  • rafa
  • Avatar de rafa
Hola JuanJo, no acabo de entender muy bien lo que dices de ...

xControl1.DataBindings.Clear()
xControl1.DataBindings.Add("EditValue",gridControl.DataSource,"xControl1",false, Windows.Forms.DataSourceUpdateMode.Never)

xControl2.DataBindings.Clear()
xControl2.DataBindings.Add("EditValue",gridControl.DataSource,"xControl2",false, Windows.Forms.DataSourceUpdateMode.Never)

xControl3.DataBindings.Clear()
xControl3.DataBindings.Add("EditValue",gridControl.DataSource,"xControl3",false, Windows.Forms.Data


__________
He solucionado el tema de que me ponga en los TexdEdit los valores de la fila seleccionada del GridControl de la siguiente manera.

Private Sub gcUsuarios_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles gcUsuarios.Click
Dim fila As System.Data.DataRow = gvUsuarios.GetDataRow(gvUsuarios.FocusedRowHandle)
mId = CInt((fila.Item(0))) ' Obtenemos el valor de la columna (0) en este caso el idCodigo
BuscarFiladelGrid_enlaTabla()
End Sub

Private Sub BuscarFiladelGrid_enlaTabla()
If oDRow("idCodigo") Is DBNull.Value Then 'Si el campo en la BBDD lleva un valor Null
Exit Sub
End If
Dim i, Max As Integer
Max = (Me.oDS.Tables(tbUsuarios).Rows.Count - 1)
For i = 0 To Max
oDRow = Me.oDS.Tables(tbUsuarios).Rows(i)
If oDRow("idCodigo") = mId Then
mPosFilaActual = i
PintarDatosEnControles()
End If
Next
End Sub


pero no sé si será una forma correcta, porque para pocos registros me vale, pero y ¿si hay miles de registros?

Ya solo me falque que cuando pulse en los botones de navegar se marque la fila en el GridControl. Si tienes alguna sugerencia de como hacerlo, espero tu comentario.

un Saludo
El administrador ha desactivado la escritura pública.
Moderadores: JuanJo, Tihuilo, sergio.adonis
Tiempo de carga de la página: 0.192 segundos

Luego de obtener visitas de más de 90 países y darnos a conocer como expertos en tecnologías de la información, en 2011 nos consolidamos como empresa formada por un grupo de ingenieros con experiencia en el área de procesos y tecnologías de la información. Sin perder el compromiso con la comunidad al seguir aportando de nuestro conocimiento y experiencia.

Últimos Comentarios

  • I constantly spent my half an hour to rewad this webpage's content all the time along witth a cup of ...

    Leer más...

     
  • Tal vez te pueda ayudar este articulo http://www.e-coffeetech.com/articulos/desarrollo-de-software/96-guardar-imagenes-en-mysql-usando-vbnet.html ...

    Leer más...

Contáctenos

Dirección

Calle Los Abetos, Col. San Francisco N°23, San Salvador, San Salvador, El Salvador, C.A.

Ing. Juan José Orellana Montano

Teléfono: +503 2268-6441

Esta dirección de correo electrónico está protegida contra spambots. Usted necesita tener Javascript activado para poder verla.