2006 Aug 17 12:50 PM
Hi All,
presently working on ALV's. Is it possible to put checkbox in grid display. if yes
plz provide some sample code
with regards,
rajeev
Hi All,
presently working on ALV's. Is it possible to put checkbox in grid display. if yes
plz provide some sample code
with regards,
rajeev
2006 Aug 17 12:54 PM
2006 Aug 17 12:54 PM
Add an extra field to the internal table.
for that field, build the catalog with x_fldcat-checkbox = 'X'.
Regards,
Ravi
2006 Aug 17 12:55 PM
Hello Rajeev,
If u r using the ABAP Objects u will get the cjheckbox automatically.
Reward if helps.
vasanth
2006 Aug 17 12:55 PM
2006 Aug 17 1:28 PM
Hi,
check the small sample code.
REPORT ztest_alv .
TYPE-POOLS: slis.
DATA: x_fieldcat TYPE slis_fieldcat_alv,
it_fieldcat TYPE slis_t_fieldcat_alv,
l_layout TYPE slis_layout_alv.
data: IT_EXCLUDE TYPE SLIS_T_EXTAB.
DATA: BEGIN OF itab OCCURS 0,
field1 TYPE i,
field2 TYPE i,
field3 TYPE i,
<b> chk(1),</b>
END OF itab.
DO 20 TIMES.
itab-field1 = sy-index.
itab-field2 = sy-index + 1.
APPEND itab.
CLEAR itab.
ENDDO.
LOOP AT itab.
itab-field3 = itab-field1 + itab-field2.
MODIFY itab INDEX sy-tabix.
ENDLOOP.
<b>x_fieldcat-fieldname = 'CHK'.
x_fieldcat-seltext_l = 'Select'.
x_fieldcat-tabname = 'ITAB'.
x_fieldcat-checkbox = 'X'.
x_fieldcat-input = 'X'.
x_fieldcat-edit = 'X'.
x_fieldcat-col_pos = 1.
APPEND x_fieldcat TO it_fieldcat.
CLEAR x_fieldcat.</b>
x_fieldcat-fieldname = 'FIELD1'.
x_fieldcat-seltext_l = 'One'.
x_fieldcat-tabname = 'ITAB'.
x_fieldcat-col_pos = 2.
APPEND x_fieldcat TO it_fieldcat.
CLEAR x_fieldcat.
x_fieldcat-fieldname = 'FIELD2'.
x_fieldcat-seltext_l = 'Two'.
x_fieldcat-tabname = 'ITAB'.
x_fieldcat-col_pos = 3.
APPEND x_fieldcat TO it_fieldcat.
CLEAR x_fieldcat.
x_fieldcat-fieldname = 'FIELD3'.
x_fieldcat-seltext_l = 'Sum'.
x_fieldcat-tabname = 'ITAB'.
x_fieldcat-col_pos = 4.
APPEND x_fieldcat TO it_fieldcat.
CLEAR x_fieldcat.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_callback_program = sy-repid
is_layout = l_layout
it_fieldcat = it_fieldcat
TABLES
t_outtab = itab
EXCEPTIONS
program_error = 1
OTHERS = 2.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.Regards
vijay
2006 Aug 17 2:10 PM
Hi Rajeev,
you can have check box in alv grid.. chack following code...
Check box
g_t_fcat-fieldname = 'SELKZ'.
g_t_fcat-ref_table = 'G_T_ITAPHU'.
g_t_fcat-coltext = 'Select'.
g_t_fcat-outputlen = 6.
g_t_fcat-hotspot = 'X'.
g_t_fcat-checkbox = 'X'.
APPEND g_t_fcat. CLEAR g_t_fcat.
Regards,
Srinivas
2006 Aug 17 2:42 PM
Hi rajeev,
1. There are two things :
a) checkbox at the left most side
usually for selecting the row
-
this can be displayed in ALV LIST (not grid)
by using an extra column
b) In alv grid, we can use the
FIELD CATALOGUE - (checkbox = 'X')
then it will display CHECK BOX FOR THAT COLUMN
(in alv grid)
2. Both things are visiblle in this program
3. just copy paste.
4. It will display data from t001
(and row selector on the left most side,
and KOKFI field will be shown as checkbox)
5.
REPORT abc.
TYPE-POOLS : slis.
*----
Data
DATA : BEGIN OF itab OCCURS 0.
INCLUDE STRUCTURE t001.
DATA : flag tyPE c,
END OF itab.
DATA : alvfc TYPE slis_t_fieldcat_alv.
DATA : alvwa TYPE line of slis_t_fieldcat_alv.
DATA : alvly TYPE slis_layout_alv.
*----
Select Data
SELECT * FROM t001 INTO TABLE itab.
loop at itab.
itab-kokfi = '1'.
modify itab.
endloop.
*------- Field Catalogue
CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
EXPORTING
i_program_name = sy-repid
i_internal_tabname = 'ITAB'
i_inclname = sy-repid
CHANGING
ct_fieldcat = alvfc
EXCEPTIONS
inconsistent_interface = 1
program_error = 2
OTHERS = 3.
*----
IMPORTANT
alvly-box_fieldname = 'FLAG'.
loop at alvfc into alvwa.
IF ALVWA-FIELDNAME = 'KOKFI'.
alvwa-checkbox = 'X'.
modify alvfc from alvwa.
ENDIF.
endloop.
*----
Display
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
it_fieldcat = alvfc
i_callback_program = sy-repid "<-------Important
i_callback_user_command = 'ITAB_USER_COMMAND' "<------ Important
is_layout = alvly
TABLES
t_outtab = itab
EXCEPTIONS
program_error = 1
OTHERS = 2.
*----
CALL BACK FORM
*----
FORM itab_user_command USING whatcomm TYPE sy-ucomm whatrow TYPE
slis_selfield.
LOOP AT itab.
itab-flag = 'X'.
MODIFY itab.
ENDLOOP.
*----
IMPORTANT.
WHATROW-REFRESH = 'X'.
ENDFORM. "ITAB_user_command
regards,
amit m.