none
Poner enfoque en una celda RRS feed

  • Pregunta

  • Hola.

    Me ha sido imposible poner el enfoque en una celda de una grid.

    Sucede que antes de la celda que quiero poner el enfoque, hay una columna no visible. Siempre me da el mensaje de que "Current cell cannot be set an invisible cell"

    He utilizado estas instrucciones que me pasaron una vez.

     Dim iCol = Grid.CurrentCell.ColumnIndex
     Dim iRow = Grid.CurrentCell.RowIndex
    
     If Grid.CurrentCell.ColumnIndex = 14 Then
                        'Grid.CurrentCell = Grid(iCol + 1, iRow)
                        'Grid.CurrentCell.ColumnIndex = 15
                        'Grid.ColumnIndex(0).Selected = True
                        Dim row = Grid.Rows(Grid.CurrentRow.Index)
                        row.Cells(16).Selected = True
                       
    
    
                        'SendKeys.Send("{TAB}")
                        'SendKeys.Send("{TAB}")
                        'SendKeys.Send("{TAB}")
                    End If

    Todo lo comentarizado, es código que he utilizado sin éxito.

    Todo funciona muy bien, pero antes de las celdas que tengo ocultas.

    Gracias.


    • Editado Formulaz5 viernes, 6 de febrero de 2015 17:39
    • Cambiado Enrique M. Montejo lunes, 9 de febrero de 2015 7:09 Pregunta relacionada con controles de Windows Forms.
    viernes, 6 de febrero de 2015 17:38

Todas las respuestas

  • El error te está indicando que intentas seleccionar una celda que no es visible. Puedes controlar esto:

    If row.Cells(16).Visible Then
       row.Cells(16).Selected = True
    Else
       MessageBox.Show("La celda 16 no es visible")
    End If

    Te aconsejo que trabajes con las columnas por su nombre en lugar de su número.


    Saludos, Javier J

    lunes, 9 de febrero de 2015 9:02
  • Gracias Javier,

    Aunque lo resolví de otra manera menos ortodoxa. Cambie de posición todas las columnas invisibles, las puse al final, caso resuelto.

    Pero, veo que me aconsejas, lo contrario de lo que siempre he visto con la referencia de columnas por numero. Veo lógico que me lo digas, pues es mas fácil llevar un control de referencias. 

    Pero, no recuerdo por que, ya había escuchado antes, que por numero es mejor.

    Gracias.

    miércoles, 11 de febrero de 2015 23:34
  • Es una cuestión de sencillez y comodidad en el mantenimiento del código.

    Si trabajas con el nº de cada columna te resultará mas complicado saber que dato contiene y al cambiar el orden de las columnas tendrás que revisar todo el código.


    Saludos, Javier J

    jueves, 12 de febrero de 2015 7:46