데이터 저장

  프로그램을 실행하여 화면로딩 후 수정된 데이터 저장하기
  
   '저장'버튼이 눌러지면 아래 코드로 분기된다.
   
   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된다.

  초기화
  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에서 처리되며 즐겨찾기 코글버튼으로 채워진 별은 즐겨찾기에 추가됨을 의미함
  토글함으로써 빼거나 넣을수 있다.

↑ 상위로 가기