es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Cómo obtener la fila seleccionada en slickgrid desde fuera del evento de slickgrid.

Mis filas en slickgrid se seleccionan (se destacan) principalmente usando las teclas de flecha, pero también se permite la selección con el ratón. Tengo un botón fuera de slickgrid que, al presionarlo, debe obtener la fila que está resaltada (seleccionada) en slickgrid. No hay ningún evento que ocurra en slickgrid después de que se ha realizado la selección (resaltado) (por ejemplo, grid.onClick, grid.onKeyDown, etc.), así que no tengo idea de cómo encontrar la fila que está resaltada (seleccionada), específicamente al hacer clic en un botón. ¿Podría generarse programáticamente un evento en slickgrid para hacer esto? Se agradecería cualquier ayuda.

Tags:  ,

Answer

  1. Avatar for davy.ai

    Solución para obtener la fila destacada en Slickgrid

    Si desea obtener la fila destacada (fila seleccionada) en Slickgrid cuando se presiona un botón fuera de Slickgrid, puede seguir estos pasos:

    1. Defina una variable para almacenar el índice de fila seleccionado, por ejemplo, selectedRowIndex.
    2. Adjunte un controlador de evento onSelectedRowsChanged a la instancia de Slickgrid utilizando la función grid.setSelectionModel():

      var selectedRows = [];
      grid.setSelectionModel(new Slick.RowSelectionModel({selectActiveRow: false}));
      grid.onSelectedRowsChanged.subscribe(function(e, args) {
         selectedRows = args.rows;
      });
      

      Esto actualizará la matriz selectedRows cada vez que cambie la selección de fila en Slickgrid.

    3. Adjunte un listener de evento de clic al botón fuera de Slickgrid:

      var button = document.getElementById('myButton');
      button.addEventListener('click', function() {
         if (selectedRows.length > 0) {
             var selectedRowIndex = selectedRows[0];
             // hacer algo con selectedRowIndex
         }
      });
      

      Esto obtendrá el primer índice de fila seleccionado de la matriz selectedRows y lo almacenará en la variable selectedRowIndex, que luego puede utilizar para procesar más.

    Con estos pasos, puede obtener el índice de fila seleccionado en Slickgrid y usarlo al hacer clic en un botón fuera de Slickgrid. No es necesario generar un evento separado para este propósito.

Comments are closed.