Saber Fila selecciona del Datagrid en Vs.net 2003

31/08/2005 - 02:45 por Developers | Informe spam
Amigos como puedo saber la fila que se tiene selecciona en el datagrid
en vb.net 2003, la idea es lo siguiente:

tengo un formulario que es para Ingresos de Documentos de almacenes que
contiene 3 caja de texto y un datagrid y que cuando el usuario le de
dobleclick a cualquier fila del datagrid aparezca un nuevo formulario
con los datos de la fila seleccionada y que el usuario pueda modificar
los datos de esa fila y que cuando se cierre el formulario esa fila del
datagrid se actualize.

Espero que me puedan ayudar con esto


Gracias

Preguntas similare

Leer las respuestas

#1 Federico
31/08/2005 - 03:02 | Informe spam
Hola ... supongo que te servirá utilizar la propiedad CurrentRowIndex
del Datagrid.

a = DataGrid.CurrentRowIndex

Te devuelve en la variable a el valor del índice de la fila seleccionada
(Siempre el índice es basado en 0, es decir, el primer item simpre es 0,
el segundo 1, el tercero 2, etc.)

Espero te sirva.
Saludos,
Fede.


Developers wrote:
Amigos como puedo saber la fila que se tiene selecciona en el datagrid
en vb.net 2003, la idea es lo siguiente:

tengo un formulario que es para Ingresos de Documentos de almacenes que
contiene 3 caja de texto y un datagrid y que cuando el usuario le de
dobleclick a cualquier fila del datagrid aparezca un nuevo formulario
con los datos de la fila seleccionada y que el usuario pueda modificar
los datos de esa fila y que cuando se cierre el formulario esa fila del
datagrid se actualize.

Espero que me puedan ayudar con esto


Gracias
Respuesta Responder a este mensaje
#2 Developers
31/08/2005 - 05:35 | Informe spam
ese aspecto amigo ya lo habia intentado, pero el problema esta cuando el
usuario ordena x una columna del grid las posiciones de filas respecto a
las filas de la tabla se distorcionan.

gracias por el ejemplo y espero que haya otra solucion.

developers


Federico escribió:
Hola ... supongo que te servirá utilizar la propiedad CurrentRowIndex
del Datagrid.

a = DataGrid.CurrentRowIndex

Te devuelve en la variable a el valor del índice de la fila seleccionada
(Siempre el índice es basado en 0, es decir, el primer item simpre es 0,
el segundo 1, el tercero 2, etc.)

Espero te sirva.
Saludos,
Fede.


Developers wrote:

Amigos como puedo saber la fila que se tiene selecciona en el datagrid
en vb.net 2003, la idea es lo siguiente:

tengo un formulario que es para Ingresos de Documentos de almacenes
que contiene 3 caja de texto y un datagrid y que cuando el usuario le
de dobleclick a cualquier fila del datagrid aparezca un nuevo
formulario con los datos de la fila seleccionada y que el usuario
pueda modificar los datos de esa fila y que cuando se cierre el
formulario esa fila del datagrid se actualize.

Espero que me puedan ayudar con esto


Gracias
Respuesta Responder a este mensaje
#3 Karla
02/09/2005 - 01:33 | Informe spam
yo tengo una funcion q realice y me sirvio a la
perfeccion..

primero use el evento Mouse up del grid

Private Sub Grid3_MouseUp(ByVal sender As Object, ByVal e
As System.Windows.Forms.MouseEventArgs) Handles
Grid3.MouseUp

Dim dato1 As String
Dim dato2 As String


Dim pt2 = New Point(e.X, e.Y)
Dim hti As DataGrid.HitTestInfo = Grid3.HitTest(pt2)

'' aki selecciono toda la fila la puedes quitar si no
la necesitas

if hti.Type = DataGrid.HitTestType.Cell Then
Grid3.CurrentCell = New DataGridCell(hti.Row, hti.Column)
Grid3.Select(hti.Row)

'' aki tomo los valores seleccionados de la celda cero y
celda uno

dato1 = Trim(Grid3(hti.Row, 0).ToString())
dato2 = Trim(Grid3(hti.Row, 1).ToString())
'MsgBox(dato1 & dato2)

'' y con un ciclo for. recorro la tabla para encontrar la
fila correcta.. eso lo hice asi.. por q como tu dices a
la hora de mover el grid te cambia el valor..
puedes condicionar los valores a buscar asi como la tabla

el valor de x es el q tiene la fila correcta..

For x = 0 To dbDataSet.Tables("Accesos").Rows.Count
If dato1 = Trim(dbDataSet.Tables("Accesos").Rows
(x).Item("Usuario")) Then
Exit For
End If
Next

'' y por ultimo para tomar los valores de la tabla si es
q los necesitas .. puedes usar lo siguiente

v1 = Trim(dbDataSet.Tables("Accesos").Rows(x).Item
("Usuario"))
v2 = Trim(dbDataSet.Tables("Accesos").Rows(x).Item
("passw"))
v3 = Trim(dbDataSet.Tables("Accesos").Rows(x).Item
("nombre"))





End Sub


Espero y te sirva.. esta muy sencilla..



Amigos como puedo saber la fila que se tiene selecciona


en el datagrid
en vb.net 2003, la idea es lo siguiente:

tengo un formulario que es para Ingresos de Documentos


de almacenes que
contiene 3 caja de texto y un datagrid y que cuando el


usuario le de
dobleclick a cualquier fila del datagrid aparezca un


nuevo formulario
con los datos de la fila seleccionada y que el usuario


pueda modificar
los datos de esa fila y que cuando se cierre el


formulario esa fila del
datagrid se actualize.

Espero que me puedan ayudar con esto


Gracias
.

Respuesta Responder a este mensaje
#4 Developers
02/09/2005 - 05:39 | Informe spam
Gracias Amiga por el ejemplo que de paso lo probe y es excelente...
pero... ¿Porque debe existir siempre el pero?

Bueno aca va la duda, todo funciona bien hasta que un usuario ingresa 2
veces el mismo valor (osea 2 filas repetidas) esto se da cuando quieren
detallar algunos datos, entonces es ahi donde aparece el problema ya que
cuando haga recorrido con el for siempre va a encontrar la primera fila
conincideten..




Karla escribió:
yo tengo una funcion q realice y me sirvio a la
perfeccion..

primero use el evento Mouse up del grid

Private Sub Grid3_MouseUp(ByVal sender As Object, ByVal e
As System.Windows.Forms.MouseEventArgs) Handles
Grid3.MouseUp

Dim dato1 As String
Dim dato2 As String


Dim pt2 = New Point(e.X, e.Y)
Dim hti As DataGrid.HitTestInfo = Grid3.HitTest(pt2)

'' aki selecciono toda la fila la puedes quitar si no
la necesitas

if hti.Type = DataGrid.HitTestType.Cell Then
Grid3.CurrentCell = New DataGridCell(hti.Row, hti.Column)
Grid3.Select(hti.Row)

'' aki tomo los valores seleccionados de la celda cero y
celda uno

dato1 = Trim(Grid3(hti.Row, 0).ToString())
dato2 = Trim(Grid3(hti.Row, 1).ToString())
'MsgBox(dato1 & dato2)

'' y con un ciclo for. recorro la tabla para encontrar la
fila correcta.. eso lo hice asi.. por q como tu dices a
la hora de mover el grid te cambia el valor..
puedes condicionar los valores a buscar asi como la tabla

el valor de x es el q tiene la fila correcta..

For x = 0 To dbDataSet.Tables("Accesos").Rows.Count
If dato1 = Trim(dbDataSet.Tables("Accesos").Rows
(x).Item("Usuario")) Then
Exit For
End If
Next

'' y por ultimo para tomar los valores de la tabla si es
q los necesitas .. puedes usar lo siguiente

v1 = Trim(dbDataSet.Tables("Accesos").Rows(x).Item
("Usuario"))
v2 = Trim(dbDataSet.Tables("Accesos").Rows(x).Item
("passw"))
v3 = Trim(dbDataSet.Tables("Accesos").Rows(x).Item
("nombre"))





End Sub


Espero y te sirva.. esta muy sencilla..




Amigos como puedo saber la fila que se tiene selecciona



en el datagrid

en vb.net 2003, la idea es lo siguiente:

tengo un formulario que es para Ingresos de Documentos



de almacenes que

contiene 3 caja de texto y un datagrid y que cuando el



usuario le de

dobleclick a cualquier fila del datagrid aparezca un



nuevo formulario

con los datos de la fila seleccionada y que el usuario



pueda modificar

los datos de esa fila y que cuando se cierre el



formulario esa fila del

datagrid se actualize.

Espero que me puedan ayudar con esto


Gracias
.

Respuesta Responder a este mensaje
#5 fernando
07/09/2005 - 18:48 | Informe spam
hola, si ya sabes cual es la primera fila seleccionada,guardala , si se
realiza una nueva busqueda compara la fila que obtuviste en la primer
busqueda con la que encuentro en la segunda busqueda (seguramente la primera
que encuentra sera igual a la que esta guardada si hay repetidas). Si la fila
es la misma no salgas del For y continua la busqueda.(no serviria si cambian
las posiciones de las filas)
Supongo que si no me vole pude ser una idea interesante

Fernando
"Developers" escribió:

Gracias Amiga por el ejemplo que de paso lo probe y es excelente...
pero... ¿Porque debe existir siempre el pero?

Bueno aca va la duda, todo funciona bien hasta que un usuario ingresa 2
veces el mismo valor (osea 2 filas repetidas) esto se da cuando quieren
detallar algunos datos, entonces es ahi donde aparece el problema ya que
cuando haga recorrido con el for siempre va a encontrar la primera fila
conincideten..




Karla escribió:
> yo tengo una funcion q realice y me sirvio a la
> perfeccion..
>
> primero use el evento Mouse up del grid
>
> Private Sub Grid3_MouseUp(ByVal sender As Object, ByVal e
> As System.Windows.Forms.MouseEventArgs) Handles
> Grid3.MouseUp
>
> Dim dato1 As String
> Dim dato2 As String
>
>
> Dim pt2 = New Point(e.X, e.Y)
> Dim hti As DataGrid.HitTestInfo = Grid3.HitTest(pt2)
>
> '' aki selecciono toda la fila la puedes quitar si no
> la necesitas
>
> if hti.Type = DataGrid.HitTestType.Cell Then
> Grid3.CurrentCell = New DataGridCell(hti.Row, hti.Column)
> Grid3.Select(hti.Row)
>
> '' aki tomo los valores seleccionados de la celda cero y
> celda uno
>
> dato1 = Trim(Grid3(hti.Row, 0).ToString())
> dato2 = Trim(Grid3(hti.Row, 1).ToString())
> 'MsgBox(dato1 & dato2)
>
> '' y con un ciclo for. recorro la tabla para encontrar la
> fila correcta.. eso lo hice asi.. por q como tu dices a
> la hora de mover el grid te cambia el valor..
> puedes condicionar los valores a buscar asi como la tabla
>
> el valor de x es el q tiene la fila correcta..
>
> For x = 0 To dbDataSet.Tables("Accesos").Rows.Count
> If dato1 = Trim(dbDataSet.Tables("Accesos").Rows
> (x).Item("Usuario")) Then
> Exit For
> End If
> Next
>
> '' y por ultimo para tomar los valores de la tabla si es
> q los necesitas .. puedes usar lo siguiente
>
> v1 = Trim(dbDataSet.Tables("Accesos").Rows(x).Item
> ("Usuario"))
> v2 = Trim(dbDataSet.Tables("Accesos").Rows(x).Item
> ("passw"))
> v3 = Trim(dbDataSet.Tables("Accesos").Rows(x).Item
> ("nombre"))
>
>
>
>
>
> End Sub
>
>
> Espero y te sirva.. esta muy sencilla..
>
>
>
>
>>Amigos como puedo saber la fila que se tiene selecciona
>
> en el datagrid
>
>>en vb.net 2003, la idea es lo siguiente:
>>
>>tengo un formulario que es para Ingresos de Documentos
>
> de almacenes que
>
>>contiene 3 caja de texto y un datagrid y que cuando el
>
> usuario le de
>
>>dobleclick a cualquier fila del datagrid aparezca un
>
> nuevo formulario
>
>>con los datos de la fila seleccionada y que el usuario
>
> pueda modificar
>
>>los datos de esa fila y que cuando se cierre el
>
> formulario esa fila del
>
>>datagrid se actualize.
>>
>>Espero que me puedan ayudar con esto
>>
>>
>>Gracias
>>.
>>

Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida