Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

Alv Grid With Checkboxes

former_member382811
Participant
0 Likes
2,259

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

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
1,791

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

10 REPLIES 10
Read only

Former Member
0 Likes
1,792

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

Read only

0 Likes
1,791

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

Read only

0 Likes
1,791

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.

Read only

0 Likes
1,791

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

Read only

0 Likes
1,791

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

Read only

0 Likes
1,791

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

Read only

0 Likes
1,791

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.

Read only

0 Likes
1,791

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

Read only

0 Likes
1,791

Hi Deepak,

Thanks its working good

Thanks

V.Venu

Read only

0 Likes
1,791

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.