2011 Nov 14 10:48 AM
HI experts,
I want to display data in grid with checkboxes.in grid some rows have a negative value and some row have possitive value(means one filed have /-).if row have negative value in that row checkbox must be in disable mode or possitive in that row checkbox must be in enble mode.<Urgency downgraded>+
Thanks
V.Venu
Edited by: Suhas Saha on Nov 14, 2011 4:21 PM
2011 Nov 14 11:02 AM
If you add the field to the field catalog like below, it should appear as a check box. You can, field the editable or not by using the parameter wa_field-edit
wa_field-fieldname = 'FLAG'. " name of field from internal table
wa_field-tabname = 'IT_FINAL'. " internal table name
wa_field-outputlen = 2. " output length on screen
wa_field-checkbox = c_check. " print as checkbox
wa_field-edit = 'X'. " make field open for input
wa_field-seltext_l = ' '. " header information
APPEND wa_field TO it_field_catalog. " append field catalog internal table
CLEAR wa_field. " clear field catalog work area
HI experts,
I want to display data in grid with checkboxes.in grid some rows have a negative value and some row have possitive value(means one filed have /-).if row have negative value in that row checkbox must be in disable mode or possitive in that row checkbox must be in enble mode.<Urgency downgraded>+
Thanks
V.Venu
Edited by: Suhas Saha on Nov 14, 2011 4:21 PM
2011 Nov 14 11:02 AM
If you add the field to the field catalog like below, it should appear as a check box. You can, field the editable or not by using the parameter wa_field-edit
wa_field-fieldname = 'FLAG'. " name of field from internal table
wa_field-tabname = 'IT_FINAL'. " internal table name
wa_field-outputlen = 2. " output length on screen
wa_field-checkbox = c_check. " print as checkbox
wa_field-edit = 'X'. " make field open for input
wa_field-seltext_l = ' '. " header information
APPEND wa_field TO it_field_catalog. " append field catalog internal table
CLEAR wa_field. " clear field catalog work area
2011 Nov 14 11:06 AM
Hi,
That is fieldcata.i am asking about in grid data not columns.Plz check My question and if u have doubt let me know
Thanks
Edited by: venu.knd on Nov 14, 2011 12:06 PM
2011 Nov 14 11:14 AM
Hi ,
Your Question :
checkbox must be in disable mode or possitive in that row checkbox must be in enble mode."
you are asking for Enable and Disable Checkbox .
regards
Deepak.
2011 Nov 14 11:20 AM
In final internal table (used for displaying ALV Grid), Loop through the internal table, for each record, pass the value '-' against the checkbox field, if the value is negative (as per your requirement).
Regards, Vinod
2011 Nov 14 11:26 AM
Hi,
in grid have one field labst,so this labst contain some possitive values and some negative values.Based on the labst condition,if labst have possitive i must display checkbox in enable mode to the row in grid or labst have negative value i must display checkbox in disable mode to the row in grid.
Thanks
2011 Nov 14 11:29 AM
Hi Deepak,
in grid have one field labst,so this labst contain some possitive values and some negative values.Based on the labst condition,if labst have possitive i must display checkbox in enable mode to the row in grid or labst have negative value i must display checkbox in disable mode to the row in grid.
Thanks
2011 Nov 14 12:08 PM
Hi ,
add one column STYLE TYPE LVC_T_STYL, "FOR DISABLE in your internal table structure .
"{ FOR DISABLE
DATA: LS_EDIT TYPE LVC_S_STYL,
LT_EDIT TYPE LVC_T_STYL.
"} FOR DISABLE
LS_EDIT-STYLE = CL_GUI_ALV_GRID=>MC_STYLE_DISABLED.
you need to pass style for each column in your out put table
LS_EDIT-STYLE = CL_GUI_ALV_GRID=>MC_STYLE_DISABLED.
INSERT LS_EDIT INTO TABLE LT_EDIT.
INSERT LINES OF LT_EDIT INTO TABLE LS_OUTTAB-STYLE.
loop at it_tab .
if value -negative = '
MODIFY IT_itab INDEX SY-TABIX FROM LS_OUTTAB TRANSPORTING STYLE .
endif.
endloop.
X_LAYOUT-STYLEFNAME = 'STYLE'.
Regards
Deepak.
2011 Nov 14 1:04 PM
Hi Deepak,
that code is very useful to my requirment.Plz let me know detailly about that,if make it possible.
Thanks
Edited by: venu.knd on Nov 14, 2011 2:04 PM
2011 Nov 14 2:07 PM
2011 Nov 15 12:58 PM
Thanks Venu For Putting this Question and Thanks Deepak For getting bang on the point.. It Works Perfctlty fine...
I am Sending Code For Guys Who are suffering from this Problem...
TYPES: BEGIN OF TY_MARA,
FLAG TYPE CHAR1,
MATNR TYPE MARA-MATNR,
ERSDA TYPE MARA-ERSDA,
ERNAM TYPE MARA-ERNAM,
WESCH TYPE MARA-WESCH,
STYLE TYPE LVC_T_STYL,
END OF TY_MARA.
DATA : IT_MARA TYPE STANDARD TABLE OF TY_MARA.
DATA : IT_MARA1 TYPE STANDARD TABLE OF TY_MARA,
WA_MARA TYPE TY_MARA,
WA_MARA1 TYPE TY_MARA.
DATA : WA_SETTINGS TYPE LVC_S_GLAY.
DATA : WA_LAYOUT TYPE LVC_S_LAYO.
DATA : IT_FIELDCATALOG TYPE LVC_T_FCAT,
WA_FIELDCATALOG TYPE LVC_S_FCAT.
DATA REF1 TYPE REF TO CL_GUI_ALV_GRID.
DATA: LS_EDIT TYPE LVC_S_STYL,
LT_EDIT TYPE LVC_T_STYL.
START-OF-SELECTION.
SELECT MATNR ERSDA ERNAM WESCH
FROM MARA INTO CORRESPONDING FIELDS OF TABLE IT_MARA
UP TO 10 ROWS.
WA_FIELDCATALOG-FIELDNAME = 'FLAG'.
WA_FIELDCATALOG-OUTPUTLEN = 6.
WA_FIELDCATALOG-CHECKBOX = 'X'. "as checkbox
WA_FIELDCATALOG-EDIT = 'X'.
WA_FIELDCATALOG-SELTEXT = 'Check box'.
APPEND WA_FIELDCATALOG TO IT_FIELDCATALOG.
CLEAR WA_FIELDCATALOG.
WA_FIELDCATALOG-FIELDNAME = 'MATNR'.
WA_FIELDCATALOG-OUTPUTLEN = 20.
WA_FIELDCATALOG-SELTEXT = 'Mat no'.
APPEND WA_FIELDCATALOG TO IT_FIELDCATALOG.
CLEAR WA_FIELDCATALOG.
WA_FIELDCATALOG-FIELDNAME = 'ERSDA'.
WA_FIELDCATALOG-OUTPUTLEN = 15.
WA_FIELDCATALOG-SELTEXT = 'Creation Date'.
APPEND WA_FIELDCATALOG TO IT_FIELDCATALOG.
CLEAR WA_FIELDCATALOG.
WA_FIELDCATALOG-FIELDNAME = 'ERNAM'.
WA_FIELDCATALOG-OUTPUTLEN = 20.
WA_FIELDCATALOG-SELTEXT = 'Creation Time'.
APPEND WA_FIELDCATALOG TO IT_FIELDCATALOG.
CLEAR WA_FIELDCATALOG.
WA_FIELDCATALOG-FIELDNAME = 'WESCH'.
WA_FIELDCATALOG-OUTPUTLEN = 20.
WA_FIELDCATALOG-SELTEXT = 'Quantity'.
APPEND WA_FIELDCATALOG TO IT_FIELDCATALOG.
CLEAR WA_FIELDCATALOG.
CONSTANTS : LC_X TYPE CHAR1 VALUE 'X'.
WA_LAYOUT-CWIDTH_OPT = LC_X.
WA_LAYOUT-ZEBRA = LC_X.
WA_LAYOUT-STYLEFNAME = 'STYLE'.
LS_EDIT-FIELDNAME = 'FLAG'.
LS_EDIT-STYLE = CL_GUI_ALV_GRID=>MC_STYLE_DISABLED.
INSERT LS_EDIT INTO TABLE LT_EDIT.
INSERT LINES OF LT_EDIT INTO TABLE WA_MARA1-STYLE.
LOOP AT IT_MARA INTO WA_MARA..
IF WA_MARA-ERSDA EQ '20060809'.
MODIFY IT_MARA INDEX SY-TABIX FROM WA_MARA1 TRANSPORTING STYLE.
ENDIF.
ENDLOOP.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY_LVC'
EXPORTING
I_CALLBACK_PROGRAM = SY-REPID
I_CALLBACK_PF_STATUS_SET = 'F_SET_STATUS'
I_CALLBACK_USER_COMMAND = 'F_USER_COMMAND'
I_GRID_TITLE = 'Example of select and deselect'
IS_LAYOUT_LVC = WA_LAYOUT
IT_FIELDCAT_LVC = IT_FIELDCATALOG
TABLES
T_OUTTAB = IT_MARA.
FORM F_SET_STATUS USING RT_EXTAB TYPE SLIS_T_EXTAB.
SET PF-STATUS 'STATUS1'.
ENDFORM.
FORM F_USER_COMMAND USING R_UCOMM LIKE SY-UCOMM
RS_SELFIELD TYPE SLIS_SELFIELD.
CASE R_UCOMM.
WHEN 'ASEL'.
LOOP AT IT_MARA INTO WA_MARA.
WA_MARA-FLAG = 'X'.
MODIFY IT_MARA FROM WA_MARA.
ENDLOOP.
RS_SELFIELD-REFRESH = 'X'.
WHEN 'DSEL'.
LOOP AT IT_MARA INTO WA_MARA.
WA_MARA-FLAG = ' '.
MODIFY IT_MARA FROM WA_MARA.
ENDLOOP.
RS_SELFIELD-REFRESH = 'X'.
WHEN 'DELETE'.
CALL FUNCTION 'GET_GLOBALS_FROM_SLVC_FULLSCR'
IMPORTING
E_GRID = REF1.
CALL METHOD REF1->CHECK_CHANGED_DATA.
DELETE IT_MARA
WHERE FLAG = 'X'.
RS_SELFIELD-REFRESH = 'X'.
WHEN 'INSERT'.
CLEAR WA_MARA.
APPEND WA_MARA TO IT_MARA.
CALL FUNCTION 'GET_GLOBALS_FROM_SLVC_FULLSCR'
IMPORTING
E_GRID = REF1.
CALL METHOD REF1->REFRESH_TABLE_DISPLAY.
WHEN 'SAVEDB'.
ENDCASE.
ENDFORM.