Visual Basic.NET - Problema con busqueda por caracteres

 
Vista:

Problema con busqueda por caracteres

Publicado por Veronica (28 intervenciones) el 25/09/2009 14:48:01
Hola gente!
Primero q nada, gracias de antemano a quien pueda ayudarme.

Estoy metiendo mano a diestra y siniestra en el VB .NET, y me ha surgido un problema intentando hacer un código para que realice una búsqueda a medida q voy ingresando un texto...la cosa q este problema me esta volviendo loca y no logro dar con una solución.
Logro hacer el filtro, me muestra y hasta me deja seleccionar, es más puedo pasar el dato hacia otro formulario. Pero cuando intento abrir nuevamente el formulario como para poder elegir otra opción (en caso de haber sido la equivocada) me tira un error de excepción q me dice q la fila fue eliminada (es larguísimo pero si hace falta copio acá el error exacto q da) y cuando hago clic en aceptar (único botón q sale en la ventana) me muestra lo mas bien la grilla con todos los campos de la tabla.
¿Alguien tiene idea q puede ser?

Para más datos, enlazo la grilla con el dataset mediante el botón q la misma posee en su parte superior.

Acá les dejo el código del procedimiento q llama al formulario:

Private Sub cmdSeleccionarLocalidad_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles cmdSeleccionarLocalidad.Click
frmSeleccionarlocalidad.showdialog()
If (frmseleccionarlocalidad.DialogResult = Windows.Forms.DialogResult.OK) Then
Me.txtCP.Text = frmseleccionarlocalidad.cp
End If
End Sub

-------------------------------------------------

Y del formulario donde esta todo y hace la búsqueda:

Public Class frmSeleccionarLocalidad
Public cp As Integer
'Dim BS As Windows.Forms.BindingSource = New BindingSource

Private Sub frmSeleccionarLocalidad_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Me.LocalidadesDataSet.Clear()

Me.LocalidadesTableAdapter.Fill(Me.LocalidadesData Set.Localidades)
dtgLocalidades.Refresh()

Me.txtBuscar.Clear()
Me.txtBuscar.Select()
End Sub

Private Sub txtBuscar_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtBuscar.TextChanged
Dim mitabla As DataTable = Me.LocalidadesDataSet.Localidades
Dim filas() As DataRow

filas = mitabla.Select("Localidad LIKE '" & txtBuscar.Text & "%'")

If filas.Length > 0 Then
dtgLocalidades.DataSource = filas
dtgLocalidades.Refresh()
End If
End Sub

Private Sub dtgLocalidades_CellDoubleClick(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles dtgLocalidades.CellDoubleClick
ObtenerCP()
End Sub

Private Sub ObtenerCP()
Dim row As Integer = Me.dtgLocalidades.CurrentRow.Index

cp = Me.dtgLocalidades.Item(0, row).Value.ToString

Me.DialogResult = Windows.Forms.DialogResult.OK

Me.Close()
End Sub
End Class
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Problema con busqueda por caracteres

Publicado por Damian (824 intervenciones) el 26/09/2009 00:27:49
O sea que lo que quieres hacer lo realiza, solo que te tira ese cartel con el error y su unico boton Aceptar?.
A mi me paso algo parecido hace mucho y estaba en el tema de los string, formatos y demas, trata de poner siempre .ToString por ejemplo en tu txtBuscar.Text.ToString

Fijate que aca si lo haces "Me.dtgLocalidades.Item(0, row).Value.ToString " si sigue apareciendo, trata de poner el error al menos la primera parte que siempre se describe bien o si no rescata ese error con una Excepcion en un Try Catch. Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Problema con busqueda por caracteres

Publicado por Veronica (28 intervenciones) el 26/09/2009 22:34:22
Gracias Damián:
Vere de intentar con lo q me comentas.
Besos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar