사용자 도구

사이트 도구


uxupdate

차이

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

차이 보기로 링크

다음 판
이전 판
uxupdate [2025/07/09 05:04] – 만듦 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|↑ 상위로 가기]]
uxupdate.1752037457.txt.gz · 마지막으로 수정됨: (바깥 편집)