2015-01-14 54 views
2

我有简单的ALV,我想要获取选定单元格的值,我尝试了Alv Grid的get_select_cells方法,但值字段是INITIAL。ABAP ALV GRID:单元格值

我不知道为什么,因为在这个单元格中我有文字或图标。

这种方法有什么问题。

这是我的代码:

FORM delete_livraison . 
    DATA: lt_cells TYPE lvc_t_cell, 
     ls_cells TYPE lvc_s_cell, 
     lv_probl TYPE xfeld. 

    gr_alvpl->get_selected_cells( IMPORTING et_cell = lt_cells). 

    LOOP AT lt_cells INTO ls_cells. 
    IF ls_cells-col_id+0(3) NE 'DAY'. 
*  lv_probl     = 'X'. 
    ENDIF. 
    IF ls_cells-value IS INITIAL. 
     lv_probl     = 'X'. 
    ENDIF. 
    ENDLOOP. 

* En cas de probleme 
    IF lv_probl EQ 'X'. 
* Message d'erreur : Certaines des cellules sélectionnées ne supportent pas cet action. 
    MESSAGE s029 DISPLAY LIKE 'E'. 
    ENDIF. 

ENDFORM.     " DELETE_LIVRAISON 

感谢,

回答

1

尝试GET_SELECTED_CELLS后调用CL_GUI_CFW=>FLUSH().,但评估结果之前。对于技术背景,我建议this document - 控制编程必读。

另外要注意,GET_SELECTED_CELLS将返回位置选定单元格,而不是内容

+0

但是什么是值域 – shmoolki

+0

我不明白你的问题。 – vwegert

+0

在结构lvc_s_cell中,您有3个字段,第一行,第二个col_id,第三个VALUE,为什么我没有最后一个字段中的值? – shmoolki