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

Datagrid y DataTable [Windows Form]

Estas en el tema de Datagrid y DataTable [Windows Form] en el foro de .NET en Foros del Web. Tengo un Datagrid que se llena mediante los datos de un DataTable. El datagrid esta en el Form1. Cuando clcikeo un registro se abre el ...
  #1 (permalink)  
Antiguo 11/12/2004, 10:30
Avatar de freegirl
Colaborador
 
Fecha de Ingreso: octubre-2003
Ubicación: Catalonia
Mensajes: 4.334
Antigüedad: 20 años, 6 meses
Puntos: 156
Exclamación Datagrid y DataTable [Windows Form]

Tengo un Datagrid que se llena mediante los datos de un DataTable.

El datagrid esta en el Form1. Cuando clcikeo un registro se abre el form2 con los datos de dicho registro, para asi poderlos modificar. Una vez modificados los datos, se cierra el Form2 y llamo a la funcion de llenar el datagrid para que así me muestre los datos actualizados. Pero el datagrid no se actualiza, sólo si:

+ vuelvo a abrir el Form 2 y vuelvo a llamar la función. Osea abrir dos veces seguidas el Formulario

+ o bien, si pongo un Msgbox en medio de la función de llenar el Datagrid

+ o bien, si pongo un punto de interrupción en la función, y la ejecuto paso a paso

Porque no se llena el datagrid con los datos actualizados, asi de forma normal?

Y ya limpio el DataTable y el Datagrid, pero sigue sin funcionar.

Alguien sabe alguna solución?


saludos,

freegirl.

Última edición por freegirl; 11/12/2004 a las 10:41
  #2 (permalink)  
Antiguo 12/12/2004, 06:58
Avatar de freegirl
Colaborador
 
Fecha de Ingreso: octubre-2003
Ubicación: Catalonia
Mensajes: 4.334
Antigüedad: 20 años, 6 meses
Puntos: 156
bueno, dejo el código por si alguien ve algún error:


Cita:
Dim sqlString As String
Dim dataAdapter As OleDb.OleDbDataAdapter
Dim oConexion As New OleDb.OleDbConnection(cl.CONEXION)

sqlString = "SELECT * FROM clientes"
CGrid.ClearTableStyles(Me.DataGrid1)
Dim dt As New DataTable("dt")
Try
'Create Connection
oConexion.Open()
'Create DataAdapter to obtain data
dataAdapter = New OleDb.OleDbDataAdapter(sqlString, oConexion)
'Fill the DataTable
dt = New DataTable("dt")
dt.Clear()
dataAdapter.Fill(dt)
Catch ex As Exception
MessageBox.Show("Error Accessing Database:" & Environment.NewLine & ex.ToString)
Exit Sub
Finally
'Close the connection
oConexion.Close()
End Try
Me.DataGrid1.DataSource = dt
Me.DataGrid1.Refresh()
  #3 (permalink)  
Antiguo 13/12/2004, 02:20
 
Fecha de Ingreso: diciembre-2004
Mensajes: 32
Antigüedad: 19 años, 4 meses
Puntos: 0
Yo tengo que hacer lo mismo y así me funciona:

En principio yo tengo un form1 como tú con un datagrid que cargo desde el principio, y cuando le dan a un botón nuevo(este sería tu evento de clickar una fila del datagrid) paso a otro form2 donde crean uno nuevo. Cuando cierran esta ventana, actualizo el datagrid para que se muetre el nuevo registro creado. Yo hago lo siguiente:

'''''Esto sería el evento del botón para crear un nuevo registro:

Private Sub btnNuevo_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnNuevo.Click
crearA = New frmCrearAviso

AddHandler crearA.Closed, AddressOf actualizarPantalla

crearA.WindowState = FormWindowState.Maximized
crearA.ShowDialog()
End Sub

''''yo utilizo la línea del "AddHandler" desde el form1 para indicar que cuando el form2 al que llamo se cierre, capture el evento y llame a la función actualizarPantalla.

Esta función será la que cargue de nuevo el datagrid del form1. Yo en principio no soy capaz de ver el fallo en tu código , pero lo que sí tengo distinto es lo de limpiar los tablestyles del datagrid. Yo siempre formateo el grid después de cargar los datos no antes. Espero que te sirva de algo.
  #4 (permalink)  
Antiguo 13/12/2004, 12:00
Avatar de freegirl
Colaborador
 
Fecha de Ingreso: octubre-2003
Ubicación: Catalonia
Mensajes: 4.334
Antigüedad: 20 años, 6 meses
Puntos: 156
gracias por contestar :)

He probado lo que me has dicho y sigue sin funcionar.

Pero bueno, lo único que hago es que salga un msgbox para confirmar unas cosas, y así si que funciona.

Suerte que ahí pega mostrar un msgbox! que sinó no se que haría, porque he estado 4 días comiendome el tarro con el maldito datagrid.

saludos y gracias igualmente! :)
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 11:23.