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

mandar foco a una celda del grid

Estas en el tema de mandar foco a una celda del grid en el foro de .NET en Foros del Web. hola amigos...tengo un grid con 6 columnas, una tiene un campo autonumérico que es plur y este campo lo guardo en un textbox...quiero que cuando ...
  #1 (permalink)  
Antiguo 11/01/2012, 12:54
 
Fecha de Ingreso: diciembre-2011
Mensajes: 70
Antigüedad: 12 años, 4 meses
Puntos: 2
mandar foco a una celda del grid

hola amigos...tengo un grid con 6 columnas, una tiene un campo autonumérico que es plur y este campo lo guardo en un textbox...quiero que cuando se pulse un botón que hay en el formulario la aplicación recargue el grid y luego devuelva la selección del grid a dónde estaba...para ello he guardado el plur en un textbox y le digo que se vaya ahí...pero el problema es que tengo números autonuméricos que ya son de 100000000...por lo que me da un error en estos y no me va a la celda hay alguien que me pueda ayudar?¿?

Cita:
Dim plur As String
plur = CStr(frmfichasproductos.DataGridView1.CurrentRow.C ells(0).Value)
'frmfichasproductos.DataGridView1.Rows.SharedRow(p lu).Selected = True
frmfichasproductos.DataGridView1.CurrentCell = frmfichasproductos.DataGridView1.Rows(CInt(plur)). Cells(0)
frmfichasproductos.DataGridView1.CurrentCell.Selec ted = False
  #2 (permalink)  
Antiguo 11/01/2012, 12:58
 
Fecha de Ingreso: marzo-2011
Mensajes: 36
Antigüedad: 13 años, 1 mes
Puntos: 1
Respuesta: mandar foco a una celda del grid

has intentad cambiar el Cint por un texto?
  #3 (permalink)  
Antiguo 11/01/2012, 13:08
 
Fecha de Ingreso: diciembre-2011
Mensajes: 70
Antigüedad: 12 años, 4 meses
Puntos: 2
Respuesta: mandar foco a una celda del grid

hola josemanuel, si lo he intentado, pero me marca error...en plur...lo subraya en rojo, si no lo hago así no hay manera, he probado con decimal y también lo pone así...estoy un poco desesperado..
  #4 (permalink)  
Antiguo 11/01/2012, 13:13
 
Fecha de Ingreso: diciembre-2011
Mensajes: 70
Antigüedad: 12 años, 4 meses
Puntos: 2
Respuesta: mandar foco a una celda del grid

este es el error exacto;
Cita:
El índice estaba fuera del intervalo. Debe ser un valor no negativo e inferior al tamaño de la colección.
Nombre del parámetro: index
y el código que tengo ahora es este;
Cita:
Dim x As New Integer
x = CInt(TextPluOri.Text)
frmfichasproductos.DataGridView1.CurrentCell = frmfichasproductos.DataGridView1.Rows(x).Cells(0)
frmfichasproductos.DataGridView1.CurrentCell.Selec ted = False
el plur que tenía seleccionado es 93572
  #5 (permalink)  
Antiguo 11/01/2012, 13:14
 
Fecha de Ingreso: diciembre-2011
Mensajes: 70
Antigüedad: 12 años, 4 meses
Puntos: 2
Respuesta: mandar foco a una celda del grid

en cambio si elijo cifras de 200 400 así..del 1 en adelante va bien
  #6 (permalink)  
Antiguo 11/01/2012, 13:26
 
Fecha de Ingreso: diciembre-2011
Mensajes: 70
Antigüedad: 12 años, 4 meses
Puntos: 2
Respuesta: mandar foco a una celda del grid

el error lo da en esta fila
Cita:
frmfichasproductos.DataGridView1.CurrentCell = frmfichasproductos.DataGridView1.Rows(CInt(x)).Cel ls(0)
  #7 (permalink)  
Antiguo 11/01/2012, 13:32
Avatar de drako_darpan  
Fecha de Ingreso: octubre-2008
Ubicación: Sinaloa
Mensajes: 617
Antigüedad: 15 años, 6 meses
Puntos: 58
Respuesta: mandar foco a una celda del grid

Hola que tal, se me ocurre que manejes una variable global, la cual contendria el renglon donde estas en ese momento ( RowIndex ) y lo unico que ocuparias es que al presionar el boton al renglon le incrementes 1.

Esto lo manejo en C#:

Grid.CurrentCell = this.Grid[0, Grid.CurrentRow.Index];

En tu caso seria:

Int32 nRenglon = Grid.CurrentRow.Index;

Grid.CurrentCell = this.Grid[0, nRenglon + 1];

Espero te sirva
  #8 (permalink)  
Antiguo 11/01/2012, 14:32
 
Fecha de Ingreso: diciembre-2011
Mensajes: 70
Antigüedad: 12 años, 4 meses
Puntos: 2
Respuesta: mandar foco a una celda del grid

lo he transformado a .net y nada...lo que hace esto es que me envía a la primera celda del grid + 1 no me envía a la celda que estaba seleccionada...ante todo gracias por la ayuda
Cita:
Dim nRenglon As Int32 = Grid.CurrentRow.Index

Grid.CurrentCell = Me.Grid(0, nRenglon + 1)
así queda en net

Etiquetas: celda, datagridview, foco, grid, textbox
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 20:55.