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

recargar datagrid

Estas en el tema de recargar datagrid en el foro de .NET en Foros del Web. hola estoy llenando una grilla pero al guardar datos esta no actualiza la informacion la estoy llenando de esta forma: Using cnn As New SqlConnection("data ...
  #1 (permalink)  
Antiguo 13/04/2012, 20:43
 
Fecha de Ingreso: abril-2008
Mensajes: 141
Antigüedad: 16 años
Puntos: 1
recargar datagrid

hola
estoy llenando una grilla pero al guardar datos esta no actualiza la informacion
la estoy llenando de esta forma:


Using cnn As New SqlConnection("data source = Oskar-PC\desarrollo; initial catalog = ClinicTurnos; Integrated Security = True")
Try
Dim sql As String = "SELECT * FROM Pacientes"
Dim da As New SqlDataAdapter(sql, cnn)
Dim dt As DataTable = New DataTable("Pacientes")
da.Fill(dt)

With DgvPacientes

.DataSource = dt

End With

Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
End Using
End Sub



he encontrado esto metodos del datagrid para refrescar la informacion pero no me da resultado como los utilizo

dt.Clear() ' Elimina la información antigua.
da.Fill(dt) ' Recarga la nueva información.
DataGridView1.Refresh() ' Vuelve a mostrar los datos.
  #2 (permalink)  
Antiguo 14/04/2012, 12:04
Avatar de lucord  
Fecha de Ingreso: marzo-2010
Ubicación: San Jose, Costa Rica
Mensajes: 87
Antigüedad: 14 años, 1 mes
Puntos: 10
Respuesta: recargar datagrid

Solo vuelve a disparar el método que carga los datos, al final de la instrucción que incluya o elimina la nueva información.
en el caso da.Fill(dt), te sirve para recargar los datos pero tienes que tener en cuenta que tienes que pasarte el dt = datatable con el resultado de la nueva consulta.

Salu2.

Luis C.
  #3 (permalink)  
Antiguo 16/04/2012, 07:39
 
Fecha de Ingreso: abril-2008
Mensajes: 141
Antigüedad: 16 años
Puntos: 1
Respuesta: recargar datagrid

porfavor podrias ayudarme con el codigo la verdad no entiendo como hacerlo segun tu explicacion.
  #4 (permalink)  
Antiguo 16/04/2012, 18:21
Avatar de cristiantorres  
Fecha de Ingreso: marzo-2012
Mensajes: 383
Antigüedad: 12 años, 1 mes
Puntos: 61
Respuesta: recargar datagrid

Carga los datos en un metodo y cuando hagas el insert solo llama a ese metodo
Código:
public  void cargardatos()
{
//aqui va el codigo para cargar los datos
}
y luego donde quieras cargar los datos o cuando hagas un insert update o delate solo invoca el método y te cargara los datos cargardatos();
__________________
Visita mi Blog C#, vb.net, asp.net, sql, java y mas...
Blog Cristian Torres
  #5 (permalink)  
Antiguo 16/04/2012, 19:05
 
Fecha de Ingreso: abril-2008
Mensajes: 141
Antigüedad: 16 años
Puntos: 1
Respuesta: recargar datagrid

es eso lo que estoy haciendo y no con método sino con clase asi:



Public Sub Guardar()
LlenarDtset.Update(Me.Eldataset, Tabla)

End Sub


y lo mio va con VB.NET. pero igual no me esta refrescando apenas guardo.
  #6 (permalink)  
Antiguo 16/04/2012, 19:06
 
Fecha de Ingreso: abril-2008
Mensajes: 141
Antigüedad: 16 años
Puntos: 1
Respuesta: recargar datagrid

Cita:
Iniciado por lucord Ver Mensaje
Solo vuelve a disparar el método que carga los datos, al final de la instrucción que incluya o elimina la nueva información.
en el caso da.Fill(dt), te sirve para recargar los datos pero tienes que tener en cuenta que tienes que pasarte el dt = datatable con el resultado de la nueva consulta.

Salu2.

Luis C.

podrias ayudarme con el codigo por q la verdad no entiendo como hacerlo.
  #7 (permalink)  
Antiguo 16/04/2012, 21:54
 
Fecha de Ingreso: abril-2008
Mensajes: 141
Antigüedad: 16 años
Puntos: 1
Respuesta: recargar datagrid

PROBLEMA
ahora tengo el código de otra manera y esta funcionando el refrescarse la grilla

creo un nuevo registro en la BD guarda y refresca la grilla correctamente

PERO en la segunda vez que intento hacerlo me sale este error:

infraccion de simultaneidad: updatecommand afecto a 0 de los 1 registros esperados


ahora lo que hice en el codigo fue convertir el llenado de la grilla en una funcion publica:

Código:
 Public Function GetData() As DataTable

        Using cnn As New SqlConnection("data source = Oskar-PC\desarrollo; initial catalog = ClinicTurnos; Integrated Security = True")
            Try
                Dim sql As String = "SELECT * FROM Pacientes"
                Dim da As New SqlDataAdapter(sql, cnn)
                Dim ds As New DataSet
                Dim dt As DataTable = New DataTable("Pacientes")
                da.Fill(dt)

                Return dt

                ' With DgvPacientes
                '.DataSource = dt
                ' End With

            Catch ex As Exception
                MessageBox.Show(ex.Message)
            End Try

        End Using
    End Function

y luego apunte la funcion al boton de guardar de un bindingnavigato asi:


Código:
Private Sub GuardarToolStripButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles GuardarToolStripButton.Click

        Me.customersBindingSource.EndEdit()
        PACIENTES.Guardar()

        txtnombres.Clear()
        txtapellido.Clear()
        txtedad.Clear()
        txtdir.Clear()
        txttel.Clear()
        txtcel.Clear()
        txtocup.Clear()
        txtid.Clear()

        DgvPacientes.DataSource = GetData()   ACA ESTA


    End Sub


pero el error me sale justo cuando intento guardar por 2 vez, he leido y parece ser por que en el dataset se esta actualizando un numero mas de un campo que tengo configurado como autonumerico en SQLserver q es el codigo de paciente, esooo parece no lo se... la cuestion es que el error me apunta al metodo guardar que tengo en una clase pss para guardar los cambios precisamente


Código:
 Public Sub Guardar()
        LlenarDtset.Update(Me.Eldataset, Tabla)

        'GRABAR UN REGISTRO EN LA TABLA HISTORIA
    End Sub
  #8 (permalink)  
Antiguo 17/04/2012, 10:59
Avatar de cristiantorres  
Fecha de Ingreso: marzo-2012
Mensajes: 383
Antigüedad: 12 años, 1 mes
Puntos: 61
Respuesta: recargar datagrid

Prueba algo así.

El método Guardar quedaría así

Código:
Public Sub Guardar()
	Try
		'guardo los datos ingresados en el datagriedview y base de datos
		Me.customersBindingSource.EndEdit()
		LlenarDtset.Update(Me.Eldataset, Tabla)
		'vuelvo a cargar los datos para que aparescan los cambios
		Me.TuDataset.Clear()
		Me.TuTableAdapter.Fill(Me.Eldataset, Tabla)
		MessageBox.Show("Registro Ingresado")
	Catch generatedExceptionName As Exception
		MessageBox.Show("Problemas al actualizar el registro")
	End Try
End Sub
Luego en el evento del boton guardar

Código:
PACIENTES.Guardar()

        txtnombres.Clear()
        txtapellido.Clear()
        txtedad.Clear()
        txtdir.Clear()
        txttel.Clear()
        txtcel.Clear()
        txtocup.Clear()
        txtid.Clear()
__________________
Visita mi Blog C#, vb.net, asp.net, sql, java y mas...
Blog Cristian Torres

Etiquetas: datagrid, sql
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 08:55.