Inicio > ABAP/4 > alvgrid->get_filtered_entries

alvgrid->get_filtered_entries

Caso: se hizo un botón de seleccionar todos/deseleccionar todos, para marcar los checks de una tabla interna. Se desea que, cuando el usuario filtra ciertos registros, sólo se seleccionen los registros visibles y no toda la tabla interna.

Screenshot_1

Solución: Usamos alvgrid->get_filtered_entries para obtener la lista de registros que fueron filtrados (no visibles)

  METHOD handle_user_command.
 
    DATA: lv_cont            TYPE i,
          lv_tabix           TYPE sy-tabix.
 
	DATA: lt_filtered        TYPE lvc_t_fidx.
 
    CASE e_ucomm.
      WHEN 'ALL'.
        CALL METHOD gr_alvgrid->get_filtered_entries
          IMPORTING
            et_filtered_entries = lt_filtered.
 
        LOOP AT it_tabla INTO wa_tabla.
          lv_tabix = sy-tabix.
          READ TABLE lt_filtered WITH KEY table_line = lv_tabix TRANSPORTING NO FIELDS.
          IF sy-subrc NE 0.
            MOVE g_true TO wa_tabla-marc.
            MODIFY it_tabla FROM wa_tabla INDEX lv_tabix.
          ENDIF.
        ENDLOOP.
 
      WHEN 'NONE'.
        CALL METHOD gr_alvgrid->get_filtered_entries
          IMPORTING
            et_filtered_entries = lt_filtered.
 
        LOOP AT it_tabla INTO wa_tabla.
          lv_tabix = sy-tabix.
          READ TABLE lt_filtered WITH KEY table_line = lv_tabix TRANSPORTING NO FIELDS.
          IF sy-subrc NE 0.
            CLEAR  wa_tabla-marc.
            MODIFY it_tabla FROM wa_tabla INDEX lv_tabix.
          ENDIF.
        ENDLOOP.
 
    ENDCASE.
 
	CALL METHOD gr_alvgrid->refresh_table_display.
  ENDMETHOD.                           "handle_user_command

Solución:

  1. Aún no hay comentarios.
  1. No trackbacks yet.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: