Usuario
Como saltar a una columna especifica de un datagridview?

Pregunta
-
Hola todos quiero saber si en vb.net 2010 puedo saltar de una columna a otra, por ejemplo la 3 hasta la 6.
y si no que se podría hacer?
Saludos, Solph.
- Cambiado Enrique M. Montejo sábado, 7 de abril de 2012 16:46 controles de Windows Forms (De:Lenguaje VB.NET)
Todas las respuestas
-
no se entiende muy bien tu pregunta...
para referenciar las columnas de un datagridview deberias usar dgv.columns(numero de la columna)
How to: manipulate columns in windows forms datagridview control
-
Hola Arturo Zerda,
Muchas gracias por tu disposición a colaborar. Lo que necesito es:
estando en una fila cualquiera, en la columna 2 luego de validarla, pueda desactivar (inhabilitar, etc) varias columnas (por ejemplo de la 3 a la 5), y que el foco lo tome la celda de la fila actual que está en la columna 6.
Tengo un procedimiento que cuando presiono 'Enter' vaya a la siguiente columna (hace TAB). Pues bien, cuando llegue a la columna 2 y presione 'Enter' necesito que la siguiente celda activa sea la que esté en la columna 6.
Espero que haya aclarado mejor lo que necesito.
Gracias.
Saludos, Solph.
-
ahora si, ya comprendo lo que quieres realizar...
podrias deshabilitar las columnas y mandar el foco a la siguiente columna que se encuentre habilitada, las columnas del dgv supongo siempre son fijas, para tomar una columna especifica solamente deverias usar la propiedas Visible de la columna de esta forma datagridview1.columns[0].visible = false, si no sabes cual es la columna que se va a deshabilitar ya que lo haces por medio de un procedimiento que el usuario toma control sobre lo que pueda pasar en el, pudieras recorrer la columnas preguntando si la columna esta visible o no
for each col as datagridviewcolumn in dgv.columns if col.visible = true then 'aqui si la columna es visible else si la columna no es visible end if next 'podrias posicionar el foco en el if, ya que siempre encontrara la ultima columna que se encuente visible
espero te sea de ayuda- Editado Arthuro Zerda miércoles, 21 de marzo de 2012 1:16
-
Hola Arthuro,
Gracias, no obstante, necesito que se vean las columnas. Por ejemplo en el formulario en que trabajo, se evalúa el tipo de documento en que se trabaja. Si el tipo de documento no necesita seleccionar Frutas entonces de la columna Cant. saltará a la última columna OK, pero si el tipo de documento requiere fruta entonces de la columna Cant. saltará a Fruta, y luego de la columna Descto saltará a Ok (después de haber calculado el Peso Neto y Subtotal.
Un punto más, a fin de que cuando presione 'Enter' el cursor salte a la siguiente columna utilizo la clase dgvPlus:
ublic Class dgvPlus Inherits DataGridView 'Heredar del DataGridView 'en el 'processDialogKey'... cuando estamos en edicion Protected Overrides Function ProcessDialogKey(ByVal keyData As System.Windows.Forms.Keys) As Boolean If keyData = Keys.Enter Then 'Si es 'enter' SendKeys.Send(Chr(Keys.Tab)) 'Enviar un 'Tab' Return True 'Marcar como procesado Else 'en caso contrario Return MyBase.ProcessDialogKey(keyData) 'devolver KeyData End If End Function End Class
y luego mi dataGridView la baso en ella:
Me.dgvDetalle = New Fruty.dgvPlus()
Así que agradecería tu ayuda a este respecto.
Saludos, Solph.