Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

Editar Un DataGrid en 6.0

Estas en el tema de Editar Un DataGrid en 6.0 en el foro de Visual Basic clásico en Foros del Web. Hola chicos, mi pregunta se basa en lo siguiente. Lo que necesito es editar la fila que selecciono en un datagrid. Tenia pensado enviar cada ...
  #1 (permalink)  
Antiguo 27/09/2008, 19:47
 
Fecha de Ingreso: septiembre-2008
Mensajes: 14
Antigüedad: 15 años, 7 meses
Puntos: 0
Pregunta Editar Un DataGrid en 6.0

Hola chicos, mi pregunta se basa en lo siguiente.
Lo que necesito es editar la fila que selecciono en un datagrid. Tenia pensado enviar cada uno de los campos a unos textbox, y editarlos desde ahi, para luego guardar los cambios, pero en realidad no he podido.
Quisiera saber si alguien me podria ayudar con esto, o si existe otra manera de editar los datos...

PD: cuando ingreso los datos, conecto el formulario con una base de datos por medio del control ADO

Gracias
  #2 (permalink)  
Antiguo 29/09/2008, 04:00
Colaborador
 
Fecha de Ingreso: enero-2008
Ubicación: Unas veces aquí, otras veces allí
Mensajes: 1.482
Antigüedad: 16 años, 3 meses
Puntos: 37
Respuesta: Editar Un DataGrid en 6.0

Cita:
Iniciado por Kata_Her Ver Mensaje
Hola chicos, mi pregunta se basa en lo siguiente.
Lo que necesito es editar la fila que selecciono en un datagrid. Tenia pensado enviar cada uno de los campos a unos textbox, y editarlos desde ahi, para luego guardar los cambios, pero en realidad no he podido.
Quisiera saber si alguien me podria ayudar con esto, o si existe otra manera de editar los datos...

PD: cuando ingreso los datos, conecto el formulario con una base de datos por medio del control ADO

Gracias
Hola,

para editar en un DataGrid sólo tiene que tener la propiedad AllowUpdate a True y al modificar en una celda, módificará directamente ese registro en la tabla.

  #3 (permalink)  
Antiguo 29/09/2008, 16:04
 
Fecha de Ingreso: septiembre-2008
Mensajes: 14
Antigüedad: 15 años, 7 meses
Puntos: 0
Respuesta: Editar Un DataGrid en 6.0

Hola,

Gracias por tu ayuda, pero ahora tengo un problema, cuando cargo el formulario, en el Form_Load llamo a esta subrutina para cargar el datagrid

Sub CargarDataGrid(dg As DataGrid)

dg.MarqueeStyle = dbgHighlightRow
Set dg.DataSource = rs
dg.Refresh
End Sub

Con la ayuda que me proporcionaste, si puedo editar el Data, ahora bien, el cambio permanece mientras estoy ejecutando el programa, pero ¿Como hago para guardar esos cambios en la base de datos?, ya que cuando lo vuelvo a cargar no me muestra los cambios que realice.....
  #4 (permalink)  
Antiguo 30/09/2008, 01:59
Colaborador
 
Fecha de Ingreso: enero-2008
Ubicación: Unas veces aquí, otras veces allí
Mensajes: 1.482
Antigüedad: 16 años, 3 meses
Puntos: 37
Respuesta: Editar Un DataGrid en 6.0

Cita:
Iniciado por Kata_Her Ver Mensaje
Hola,

Gracias por tu ayuda, pero ahora tengo un problema, cuando cargo el formulario, en el Form_Load llamo a esta subrutina para cargar el datagrid

Sub CargarDataGrid(dg As DataGrid)

dg.MarqueeStyle = dbgHighlightRow
Set dg.DataSource = rs
dg.Refresh
End Sub

Con la ayuda que me proporcionaste, si puedo editar el Data, ahora bien, el cambio permanece mientras estoy ejecutando el programa, pero ¿Como hago para guardar esos cambios en la base de datos?, ya que cuando lo vuelvo a cargar no me muestra los cambios que realice.....
En teoría, al cambiar de celda ya debería guardar los datos.
¿Cómo es la cadena de conexión y cómo declaras el recordset?

Nota: Si lo que quieres es editar el DataGrid, mejor es que sustituyas la propiedad MarqueeStyle a dbgHighlightCell.

  #5 (permalink)  
Antiguo 05/10/2008, 12:19
 
Fecha de Ingreso: septiembre-2008
Mensajes: 14
Antigüedad: 15 años, 7 meses
Puntos: 0
Respuesta: Editar Un DataGrid en 6.0

Hola de nuevo;

tengo dos varables declaradas de esta manera, una para la coneccion y otra para el recorset:

Option Explicit
Public cnn As New ADODB.Connection
Public rs As New ADODB.Recordset

Para cargar el datagrid llamo a la siguiente subrutina:

Sub CargarDataGrid(dg As DataGrid)

dg.MarqueeStyle = dbgHighlightRow
Set dg.DataSource = rs
dg.Refresh
End Sub

y para iniciar la coneccion con la base de datos utilizo esto:

Public Sub IniciarConexion()

With cnn
.CursorLocation = adUseClient
.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & _
App.Path & "\bd1.mdb" & ";Persist Security Info=False"
End With

End Sub

La ayuda que me proporcionaste anteriormente, me sirvio para editarlo, mas sin embargo, me edita el datagrid, mas no envia los cambios a la base de datos, y cuando vuelvo a cargarlo, no veo los cambios que realize......

Gracias....
  #6 (permalink)  
Antiguo 05/10/2008, 13:55
 
Fecha de Ingreso: febrero-2008
Mensajes: 303
Antigüedad: 16 años, 2 meses
Puntos: 2
Respuesta: Editar Un DataGrid en 6.0

Cita:
Iniciado por Kata_Her Ver Mensaje
Hola chicos, mi pregunta se basa en lo siguiente.
Lo que necesito es editar la fila que selecciono en un datagrid. Tenia pensado enviar cada uno de los campos a unos textbox, y editarlos desde ahi, para luego guardar los cambios, pero en realidad no he podido.
Para enviar los datos de una fila a cajas de texto puedes usar el evento DblClick() del datagrid
Código:
Private Sub DataGrid1_DblClick()
'Llenamos la cajas de texto 
Text1.Text = DataGrid1.Columns(0).Text
Text2.Text = DataGrid1.Columns(1).Text
End Sub
Para modificar el contenido del recordset que esta vinculado al datagrid puede ser asi, llamas a la funcion desde un boton
Código:
Sub F_modificar()
With rsCargo
   .Find "CodCargo='" & Text1 & "'"
   !Codcargo = Text1
   !Nomcargo = Text2
.Update
End With
End Sub
  #7 (permalink)  
Antiguo 05/10/2008, 19:39
Avatar de ernestoelunico  
Fecha de Ingreso: septiembre-2008
Mensajes: 96
Antigüedad: 15 años, 7 meses
Puntos: 0
Respuesta: Editar Un DataGrid en 6.0

yo e podido hacer lo que tu dices pero conectando el datagrid pormedio del objeto adodc y el microsoft jet 4sp8 y una base da datos access 2003 intentalo asi talvez te resulta
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 23:17.