Kullandığımız ALV'de sol kısımda seçim yapmak için sadece bir kutu veya tık atabilmemiz için checkbox kullanmamız gerekebilir.
Kutu kullanıldığımız zaman, tıklanan kutuları yakalamak için bir fonksiyon ya da metod çağırmamız gerekemez fakat checkbox kullandığımız da check_changed_data isimli bir metod çağırmamız gerekir.
İkisini de örneklersek;
Öncelikle , interal table tanımalasında mutlaka char1 tipinde bir değişkenimiz olmalı.
Mesela;
data:
begin of gt_itab occurs 0,
box(1) type c,
.
.
.
end of gt_itab.
Sadece kutu kullanacaksak;
DATA : layout TYPE slis_layout_alv .
layout-box_fieldname = 'BOX'.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
is_layout = layout
.burada diğer export parametreleri yollanacak
.
TABLES
t_outtab = gt_itab.
Seçilen satırları görmek içinse;
DATA ref1 TYPE REF TO cl_gui_alv_grid.
CALL FUNCTION 'GET_GLOBALS_FROM_SLVC_FULLSCR'
IMPORTING
e_grid = ref1.
CALL METHOD ref1->check_changed_data.
yukarıdaki kod, reuse_alv'mizi, OO_ALV gibi convert edip, check_changed_data metodunu çağırmamızı sağlar.
Checkbox kullanımı içinse yapmamız gereken, manuel field katalog oluştururken (eski gönderdiklerimde bulabilirsiniz) checkbox seçeneğine X değerini göndermemiz.
http://bilencekic.blogspot.com/2008/07/abap-fieldcatalog-oluturma.html
DATA : gt_fcat TYPE slis_t_fieldcat_alv,
gf_fcat LIKE LINE OF gt_fcat.
gf_fcat-checkbox = 'X'.
gf_fcat-edit = 'X' *eğer edit sekmesine X koymazsak checkbox a tıklanamaz
Hiç yorum yok:
Yorum Gönder