ABAP ALV中自定義搜尋幫助

2022-09-12 00:30:29 字數 1498 閱讀 3784

abap:alv中自定義搜尋幫助

如果希望alv中某欄位具有搜尋幫助,第一種辦法當然是對錶中某字段的引用,設定ref_table、ref_field,將自動觸發該字段所帶的搜尋幫助。

可不可以直接設定searh help呢?應該不可以,找遍了field catalog的結構也沒發現有可以設定的字段。

第二種辦法就是利用自定義**來實現alv的搜尋幫助,顯然它的功能更強大、更靈活。針對在oo alv中實現搜尋幫助,其主要步驟有:

1,在alv的事件處理類中新增個method,其definition如下:

handle_onf4 for event onf4 of cl_gui_alv_grid

importing e_fieldname es_row_no er_event_data.

其implementation中就是我們希望執行的**,用來彈出可選擇對話方塊。e_fieldname代表使用者點選了alv的哪個欄位來觸發搜尋幫助,es_row_no代表了當前行資訊,

es_row_no-row_id就是alv中內表記錄的index。er_event_data代表了當前使用者對alv進行了哪些編輯的資訊。在method的最後,記得加上

er_event_data->m_event_handled = 'x'.

通知系統搜尋事件處理完畢,這樣就不會呼叫系統標準的search help。

2,那就是對需要自定義搜尋幫助的字段,設定其field catalog時:

ls_fieldcat-f4**ailabl = 'x'.

這一步往往容易被忽略。

3,在建立alv物件之後,要對需要自定義搜尋幫助的字段進行註冊。

data: lt_f4 type lvc_t_f4 with header line.

lvc_s_f4中的字段getbefore和changeafter應該代表是否觸發data_changed事件。

然後我們為其指定事件處理類(假設go_evt_receiver是自定義事件處理類的乙個物件):

create object go_evt_receiver.

set handler go_evt_receiver->handle_onf4 for go_alv_grid.

至此,主要的設定步驟都介紹完畢。

下面貼一段handle_onf4的**供參考:

method handle_onf4.

data: ls_modi type lvc_s_modi,

lt_ret_tab type table of ddshretval with header line.

field-symbols type lvc_t_modi.

**  inform alv grid that event 'onf4' has been processed

er_event_data->m_event_handled = 'x'.

endif.

endmethod.                    "handle_onf4

自定義搜尋框

自定義搜尋框 1 自定義自定義的文字框必須在 void layoutsubviews中才能自定義 即子控制項必須在layoursubviews中設定,而searchbar可以直接設定 placeholder,外背景 2 storyboard隨意設定即可 3 純 字型顏色和大小無法設定,但是外邊框可以...

jqGrid 自定義搜尋

jquery mysearch filtergrid grid id options options 引數 引數描述 預設值gridmodel 當為ture我們會使用colmodel中的屬性構造查詢條件,所用到的引數 name,index,edittype,editoptions,search.還有...

Qt 自定義搜尋框

1.建立輸入框 qlineedit text new qlineedit this text setgeometry 50,80,200,25 text setobjectname qstring text 2.建立按鈕 qsize size qsize 40,text height qpushbu...