사용자 도구

사이트 도구


uxupdate

차이

문서의 선택한 두 판 사이의 차이를 보여줍니다.

차이 보기로 링크

양쪽 이전 판이전 판
다음 판
이전 판
uxupdate [2025/07/09 05:05] adminuxupdate [2025/12/06 07:26] (현재) – 바깥 편집 127.0.0.1
줄 1: 줄 1:
 ====== 데이터 저장 ====== ====== 데이터 저장 ======
-    프로그램을 실행하여 화면로딩 후 데이터입력하여 저장하기+    프로그램을 실행하여 화면로딩 후 수정된 데이터 저장기 
 +     
 +     '저장'버튼이 눌러지면 아래 코드로 분기된다. 
 +      
 +     Templet에 포함된 public override void OnSaveClick(UBiMdiForm f) 메서드를 찾아 아래와 같이 수정한다. 
 +     필요하다면 개발자가 저장을 위한 러 조건들을 검사해야 할 수 있다. 
 +      
 +     지정된 DataAdapter를 포함한 하위 DataAdapter의 C.U.D 에 해당하는 변경된(추가, 수정, 삭제) 데이터를 하나의 
 +     Transection으로 저장하며 중간에 문제가 발생할 경우 자동 RollBack된다. 
 +     물론 성공하게 되면 Commit된다. 
 + 
 + 
 +    아래 저장의 일반적인 처리 예시 
 +     
 +        /// <summary> 
 +        /// 저장 버튼 클릭 
 +        /// </summary> 
 +        public override void OnSaveClick(UBiMdiForm f) 
 +        { 
 +            base.OnSaveClick(f); 
 +            try 
 +            { 
 +                // 저장중이라는 메세지를 화면에 표시함 
 +                UBiMessageBox.ShowWait("Wait", "Saving into Database..."); 
 +     
 +                // 저장 처리 
 +                ResponseDB res = uBiDataManager1.GetAdapter("GET_MAIN").Update(); 
 +                // 또는 ResponseDB res = mainGrid.DatAdapter.Update(); 
 +                if (res.Code == 0) 
 +                { 
 +                    // 저장에 성공하여 변경된 데이터를 다시 조회함. 
 +                    OnSearchClick(f); // 재조회 
 +                } 
 +                else 
 +                    // 서버에서 보내는 오류 메세지를 표시함 
 +                    throw new Exception(res.Message); 
 +            } 
 +            catch (Exception ex) 
 +            { 
 +                // 혹시 모를 Exception 처리 
 +                ex.UBiShowException(this); 
 +            } 
 +            finally 
 +            { 
 +                // 저장중이라는 화면 메세지를 안보이게 숨김 
 +                UBiMessageBox.CloseWait(); 
 +            } 
 +        }      
 +         
 + 
 +    버튼과 묵시적으로 매핑된 override Method들은 BaseModule 을 상속받은 UX Form에 적용된다. 
 +    각 버튼은 사용자별로 설정된 권한에 기반하여 Enable된다. 
 + 
 +{{:ubibutton_authority.png?300|}} 
 + 
 +    초기화 
 +    public override void OnInitClick(UBiMdiForm f) 
 + 
 +    조회 
 +    public override void OnSearchClick(UBiMdiForm f) 
 +    { 
 +     //DataAdapter : GET_MAIN의 SELECT 프로시져를 호출 
 +       =>uBiDataManager1.GetAdapter("GET_MAIN").Select(true); 
 +       ... 
 +    } 
 + 
 +    행추가 
 +    public override void OnAddClick(UBiMdiForm f) 
 +    { 
 +        DataRow newRow = gridMain.UBiAddNewRow(true); 
 +        if (newRow == null) 
 +        { 
 +            UBiMessageBox.Show("행추가 실패", MessageBoxIcon.Warning, false); 
 +            return; 
 +        } 
 +        else  
 +        { 
 +           // 추가된 행에 값을 강제로 지정(필요시에) 
 +           newRow["cnt"] = 1; 
 +           //변경된 값을 개별 컨트롤에 업데이트 
 +           gridMain.DataAdapter.UBiUpdateRow(); 
 +        } 
 +    } 
 + 
 +    행삭제 
 +    public override void OnDeleteClick(UBiMdiForm f) 
 +    { 
 +       // 그리드의 포커스 행을 지운다. 
 +       gridMain.DeleteRow(gridMain.FocusedRowHandle); 
 +    } 
 + 
 +    변경된 데이터 저장 
 +    public override void OnSaveClick(UBiMdiForm f) 
 +    { 
 +       // 위 설명 참조 
 +    } 
 + 
 +    PDF기반의 화면 사용 설명서 열기 
 +    public override void OnHelpClick(UBiMdiForm f) 
 + 
 +    화면 닫기<- 이 기능은 화면 버튼과 연동되 있지 않음 
 +    public override void OnCloseClick(UBiMdiForm f) 
 + 
 +    마지막 별표는 상위 BaseModule에서 처리되며 즐겨찾기 코글버튼으로 채워진 별은 즐겨찾에 추가됨을 의미함 
 +    토글함으로써 빼거나 넣을수 있다. 
          
          
 [[ux|↑ 상위로 가기]] [[ux|↑ 상위로 가기]]
uxupdate.1752037504.txt.gz · 마지막으로 수정됨: (바깥 편집)