메뉴 건너뛰기

SAP 한국 커뮤니티

[re] ***급***web dynpro에 관한 질문 입니다.***

cheguevara 2007.07.23 14:28 조회 수 : 1932 추천:69

>라디오 버튼으로 필드 컨트롤을 하려고 하는데요.


>만약에 라디오 버튼 1번을 선택했을 경우 특정필드가 read-only만 되고 라디오 버튼 2를 선택시 input필드로


>변환 하는 컨드롤을 주고 싶은데요.


>문제는 viewContainerUIElement 로 생산한 필드도 라디오 버튼으로 위에서 같은 컨트롤을 할 수 있는건가요?


>할 수 있다면 어떤게 해야하나요?


>웹딘 고수님께 급히 질문드립니다. ㅠ.ㅠ


 


ViewContainerElement를 사용한다는 걸 못 봤네요...


Container안에 들어갈 또 다른 View가 생기므로 댓글에 올린 방법으로는 안될테고 아래 방법을 참고하시길 바랍니다.


 


1. ComponentController
  1) Attributes Tab에 등록.
     MV_VIEW01  Type Ref to IF_WD_VIEW  (Public)
     MV_VIEW02  Type Ref to IF_WD_VIEW  (Public)
    
  2) Methods Tab에 등록.
     Parameters :
         P_FLAG Importing  CHAR1
         P_VIEW Importing Refto IF_WD_VIEW


     METHOD set_view .
       IF p_flag = '1'.
         wd_this->mv_view01 = p_view.
       ELSE.
         wd_this->mv_view02 = p_view.
       ENDIF.
     ENDMETHOD.
    
     ------------------------------------------------------------
    
     Parameters :
         P_FLAG Importing  CHAR1
         P_VIEW Importing Refto IF_WD_VIEW
      
     METHOD change_inputfield .
       DATA: input01 TYPE REF TO cl_wd_input_field,
             input02 TYPE REF TO cl_wd_input_field.
      
       input01 ?= p_view->get_element( 'INPUT_01' ).
       input02 ?= p_view->get_element( 'INPUT_02' ).
      
       IF p_flag = '1'.
         input01->set_read_only( EXPORTING value = abap_false ).
         input02->set_read_only( EXPORTING value = abap_true ).
       ELSE.
         input01->set_read_only( EXPORTING value = abap_true ).
         input02->set_read_only( EXPORTING value = abap_false ).
       ENDIF.
     ENDMETHOD.
    
2. 각 View의 WDDOMODIFYVIEW 메소드 내에 아래 소스 추가
  1) 라디오 버튼이 있는 View
     check first_time = abap_true.
     wd_comp_controller->set_view( p_view = view
                                   p_flag = '1' ).

 
  2) ViewContainerUIElement 안에 들어갈 View
     check first_time = abap_true.
     wd_comp_controller->set_view( p_view = view
                                   p_flag = '2' ).
                                  
     wd_comp_controller->change_inputfield( p_view = view
                                         p_flag = '1' ).
 
  
3. Radio button의 on select 이벤트 메소드에 아래 소스 추가.
   => controller의 change_inputfield 메소드를 Call한다.
      다만 radio button에 따라 flag값을 변경해주면 된다.

        
    DATA: node TYPE REF TO if_wd_context_node,
        i_idx   TYPE i,
        l_flag  TYPE char1.


    node = wd_context->get_child_node( 'COLOR' ).
   
    i_idx = node->get_lead_selection_index( ). "RadioButton의 Index번호.
   
    IF i_idx = 1.
      l_flag = 1.
    ELSE.
      l_flag = 2.
    ENDIF.
   
    wd_comp_controller->change_inputfield(
      p_flag = l_flag
      p_view = wd_comp_controller->mv_view02
    ).
 
 


 

번호 제목 글쓴이 날짜 조회 수
465 Background (Batch Job) 에 설정한 Selection Screen의 Variant 는 어디서 볼수 있을까요? [1] file 김윤승 2007.07.20 5613
464 ALV 스크린에서 라인을 클릭시 저장, 삭제에 관한 질문입니다. [2] 초보생 2007.07.20 2439
463 입력창 에 대해서 [3] 하늘만 2007.07.20 1971
462 BDC 관련 질문입니다. bd 2007.07.20 1877
461 TABLE CONTROL 에 대한 질문입니다. [2] 하늘만 2007.07.20 1676
460 구매요청필드 바꾸는 바피 사용해보신 분 계신가요? 노력&성장 2007.07.19 1755
459 스마트롬 페이지 표시가 10페이지 이상을 선택하면 *로 나와요~ [1] 노력&성장 2007.07.19 1784
458 UPLOAD FUCTION 을 GUI_UPLOAD 로 바꾼후 화일이 선택이 안되네요. [3] bd 2007.07.19 1760
457 ALV 스크린에서 행삭제 버튼에 대한 질문입니다. [3] 초보생 2007.07.19 2806
456 [질문] SM37에서 각종 배치잡들을 확인가능한데...특히 active 표시나는 부분을 확인할 방법 나도아밥퍼 2007.07.19 2819
455 아밥으로 타유닉스서버의 프로그램에 명령어를 줄수 있나요? [2] 권민성 2007.07.19 2062
454 db 인덱스 거는 거를 알고 싶습니다. [3] 들아쿠라 2007.07.19 1909
453 BAPI_FIXEDASSET_CHANGE 정영숙 2007.07.19 2447
452 현재 시간을 가져올려면 어떻게 해야하나요? [1] 노력&성장 2007.07.18 5689
451 ALV 스크린에서 삭제에 관한 질문입니다. [1] 초보생 2007.07.18 1698
450 Pc에 존재하는 File 의 codepage를 알수 있는 방법이 있을까요? bd 2007.07.18 2150
449 CL_GUI_FRONTEND_SERVICES=>GUI_UPLOAD [3] file bd 2007.07.18 3767
448 소스,cbo테이블 다운로드 받는 쉬운 방법 없을까요? [2] 댕댕 2007.07.18 2200
447 SELECT-OPTIONS의 범위효과에 대한 질문입니다. [2] 초보생 2007.07.16 1802
446 대문자를 소문자로 바꾸는 함수는 없나요? [3] 나도아밥퍼 2007.07.16 2578