Update zcl_excel_autofilter.clas.abap

WHILE Loop in is_row_hidden deleted. No more insertion of empty column entries in mt_filters table without rule and values.
This commit is contained in:
darnoc312 2023-08-26 11:30:37 +02:00 committed by GitHub
parent 27edfe7611
commit de4a9e2f7e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -207,10 +207,6 @@ CLASS zcl_excel_autofilter IMPLEMENTATION.
METHOD is_row_hidden. METHOD is_row_hidden.
DATA: lr_filter TYPE REF TO ts_filter,
lv_col TYPE i.
FIELD-SYMBOLS: <ls_filter> TYPE ts_filter. FIELD-SYMBOLS: <ls_filter> TYPE ts_filter.
rv_is_hidden = abap_false. rv_is_hidden = abap_false.
@ -219,29 +215,25 @@ CLASS zcl_excel_autofilter IMPLEMENTATION.
* 1st row of filter area is never hidden, because here the filter * 1st row of filter area is never hidden, because here the filter
* symbol is being shown * symbol is being shown
*--------------------------------------------------------------------* *--------------------------------------------------------------------*
IF iv_row = me->filter_area-row_start. IF iv_row <= me->filter_area-row_start OR
iv_row > me->filter_area-row_end.
RETURN. RETURN.
ENDIF. ENDIF.
lv_col = me->filter_area-col_start. LOOP AT mt_filters ASSIGNING <ls_filter> WHERE column >= me->filter_area-col_start
AND column <= me->filter_area-col_end.
WHILE lv_col <= me->filter_area-col_end.
lr_filter = me->get_column_filter( lv_col ).
ASSIGN lr_filter->* TO <ls_filter>.
CASE <ls_filter>-rule. CASE <ls_filter>-rule.
WHEN mc_filter_rule_single_values. WHEN mc_filter_rule_single_values.
rv_is_hidden = me->is_row_hidden_single_values( iv_row = iv_row rv_is_hidden = me->is_row_hidden_single_values( iv_row = iv_row
iv_col = lv_col iv_col = <ls_filter>-column
is_filter = <ls_filter> ). is_filter = <ls_filter> ).
WHEN mc_filter_rule_text_pattern. WHEN mc_filter_rule_text_pattern.
rv_is_hidden = me->is_row_hidden_text_pattern( iv_row = iv_row rv_is_hidden = me->is_row_hidden_text_pattern( iv_row = iv_row
iv_col = lv_col iv_col = <ls_filter>-column
is_filter = <ls_filter> ). is_filter = <ls_filter> ).
ENDCASE. ENDCASE.
@ -250,10 +242,7 @@ CLASS zcl_excel_autofilter IMPLEMENTATION.
RETURN. RETURN.
ENDIF. ENDIF.
ENDLOOP.
ADD 1 TO lv_col.
ENDWHILE.
ENDMETHOD. ENDMETHOD.