2015-01-14 73 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