Ayuda sobre error

28/03/2006 - 01:57 por max | Informe spam
Hola les escribo para ver si me puden echar la mano para entender el porque
cuando intento escibir muy rapidamente valores en un datagridView esta manda
un error
de antemano les doy las gracias por algun consejo.

Public Class Form1
Private tbl As New DataTable
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load

tbl.Columns.Add("Numero", System.Type.GetType("System.Int32"))
tbl.Columns.Add("Fecha", System.Type.GetType("System.String"))
Me.DataGridView1.DataSource = tbl

Dim rw As DataRow = tbl.NewRow
rw("Numero") = 1
rw("Fecha") = Now
tbl.Rows.Add(rw)

Dim hl As New Threading.Thread(AddressOf hilo)
hl.Start()

End Sub
Private Sub hilo()
While True
'System.Threading.Thread.Sleep(1000)
Dim rw() As DataRow = tbl.Select("Numero = 1")
rw(0)("Fecha") = Now
End While
End Sub
End Class

Preguntas similare

Leer las respuestas

#1 Eduardo Alvarado Meza
28/03/2006 - 11:26 | Informe spam
Mucho Turbo ... :-)

Public Class Form1
Private tbl As New DataTable
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load

tbl.Columns.Add("Numero", System.Type.GetType("System.Int32"))
tbl.Columns.Add("Fecha", System.Type.GetType("System.String"))
Me.DataGridView1.DataSource = tbl

Dim rw As DataRow = tbl.NewRow
rw("Numero") = 1
rw("Fecha") = Now
tbl.Rows.Add(rw)




Application.DoEvents() 'AGREGA ESTA LINEA Y AVISAS SI SE CORRIGE

Dim hl As New Threading.Thread(AddressOf hilo)
hl.Start()

End Sub
Private Sub hilo()
While True
'System.Threading.Thread.Sleep(1000)
Dim rw() As DataRow = tbl.Select("Numero = 1")
rw(0)("Fecha") = Now
End While
End Sub
End Class
Respuesta Responder a este mensaje
#2 Eduardo Alvarado Meza
28/03/2006 - 11:33 | Informe spam
Me cuesta sacarlo, pero con la linea que te dije que pusieras no aparece
mas, aunque puede ser cuestion de suerte porque en mi pc cuesta a como te
dije. prueba y ve si resuelve

rw("Fecha") = Now
tbl.Rows.Add(rw)






Application.DoEvents() 'AGREGA ESTA LINEA Y AVISAS SI SE CORRIGE

Dim hl As New Threading.Thread(AddressOf hilo)
hl.Start()
Respuesta Responder a este mensaje
#3 Eduardo Alvarado Meza
28/03/2006 - 11:53 | Informe spam
Sorry, me aparecio despues de aprox. 10 min. y moviendo la ventana
rapidamente, incluso con el doevents en el procedimiento, "aparentemente"
hace que cueste mas que aparezca.

Lo probe tambien asi, no ha dado fallas, pero sin garantias:

Private tbl As New DataTable
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load
tbl.Columns.Add("Numero", System.Type.GetType("System.Int32"))
tbl.Columns.Add("Fecha", System.Type.GetType("System.String"))
Me.DataGridView1.DataSource = tbl

Dim rw As DataRow = tbl.NewRow
rw("Numero") = 1
rw("Fecha") = Now
tbl.Rows.Add(rw)

Dim hl As New Threading.Thread(AddressOf hilo)
hl.Start()
End Sub

Private Sub hilo()
Dim hl2 As Threading.Thread
While True
'System.Threading.Thread.Sleep(1000)
hl2 = New Threading.Thread(AddressOf HIlo2)
hl2.Start()
hl2.Join()
End While
End Sub
Private Sub HIlo2()
Dim rw() As DataRow = tbl.Select("Numero = 1")
'Hay que validar si no encuentra la fila
rw(0)("Fecha") = Now
End Sub

Asi que tiro la toalla.
Respuesta Responder a este mensaje
#4 max
29/03/2006 - 19:17 | Informe spam
Muchas gracias pro tu interes Eduardo te agradesco tu aporte. :)

sigo investigando como y por que sucede ese error.
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida