Debido a otra pregunta mía ( ¿Cómo ir a la celda anterior después de presionar la tecla de tabulación? ), Estaba aprendiendo a usar la navegación de celdas .
cell.navigateLeft(); //move focus left to next editable cell.cuando hago clic en la celda "haz clic en mí", espero que el cursor aparezca en la celda 3 porque es un tipo de celda de entrada.
Pero de cualquier forma que lo intente no hace nada
table.on("cellClick", function(e, cell){ //e - the click event object //cell - cell component console.log("cell ", cell.getField()) console.log(table.navigateLeft()) table.navigateLeft() console.log(cell.navigateLeft()) cell.navigateLeft() console.log("cell ", cell.getField()) // console.log(cell.navigatePrev()) //console.log(cell.navigateRight()) });¿Alguien podría explicar cómo usar la navegación celular?
Trabajando jsFiddle .
La navegación de celda no se puede activar al hacer clic, la navegación le permite mover el foco de la celda editada actualmente a otra celda, si una celda no está enfocada (como sucedería en un evento cellClick), entonces no hará nada. Las funciones de navegación se utilizan principalmente para manejar la navegación del teclado alrededor de la mesa.
En su ejemplo, también está manejando cada clic en las celdas, no solo el clic en la columna "haga clic en mí".
Si desea activar la edición en una celda en particular, debe llamar a la función de edit en ese componente de celdas. Entonces, por ejemplo, en su ejemplo, si agregamos una devolución de llamada de cellClick en la definición de columna para la columna Click Me:
{title: "Click me", field: "c4", cellClick:function(e, cell){ cell.getRows().getCell("c3").edit(); }}Aunque desde el punto de vista de la usabilidad, el usuario puede simplemente hacer clic en la celda que desea editar para que nada de esto realmente se sienta necesario.