BizPopup (공통 팝업)
작성일: 2024-05-09
설명
[PlusWin-Dev6 → 비즈니스 컴포넌트] 메뉴에서 '컨트롤 유형'이 "Popup"인 데이터
컴포넌트 ID 규칙
영어 대문자, 숫자만 등록하며 단어의 구분은 언더바( _ )를 사용
컨트롤 유형의 첫 번째 문자를 접두어로 입력 (ex. 설비코드: P_FXCODE)
비즈니스 컴포넌트 데이터 등록 규칙
WHERE 구문을 제외하고 [LookUp 유형]과 작성법은 동일
ORDER BY 구문에는 최종 SELECT 결과 필드명으로 지정 (
custnm as customer_name
와 같이 별칭(Alias)을 사용했다면 별칭인customer_name
을 ORDER BY 구문에 작성)비즈니스 컴포넌트 데이터 참조 팝업에서 조회 조건용 컨트롤로 사용될 필드에 대하여 WHERE 문을 작성하며 조건용 필드는 실제 테이블의 필드명이 아닌 '최종 SELECT 결과 필드명'이 기준이며, 중괄호(
{ }
)를 사용하여 구분 ( 아래 예시 [이미지1, 2] 참고 )조회 조건용 컨트롤은 [세부 항목 설정] 영역의 '컴포넌트ID (디자인)' 필드에 값을 지정하지 않은 경우 TextEdit 유형으로 기본 생성되기 때문에 이 경우 '코드명'으로 검색해야 하므로 '코드' 값이 아닌 '코드명'으로 조회되도록 쿼리를 작성 ( [이미지2]의 WHERE문에 '
{use_yn}
' 필드 참고 )[이미지3]은 [이미지2]에 입력된 비즈니스 컴포넌트 정보의 데이터 참조 팝업 화면



[세부 항목 설정] - 컴포넌트ID (디자인)

조회 조건용 컨트롤의 디자인을
LookUpEdit
과RadioGroup
으로 적용하기 위해 비즈니스 컴포넌트에 등록된 LookUp 또는 Radio 유형의 ID를 설정하는 필드'컴포넌트ID (디자인)'에 값이 지정된 필드는 팝업에서 조회 컨트롤 [이미지 6]과 같이 해당 유형으로 디자인되며 코드로 값을 받아오기 때문에 WHERE문 작성에도 코드로 조건을 처리 ( [이미지5] 참고 )


커스텀 공통 팝업 개발 및 적용
폼 템플릿을 '공통 팝업' 으로 선택하여 신규 생성 ( DevTool6 : v6.0.6.2 이후 버전 사용 )
모든 공통 팝업은 BizComponentPopupBase 클래스를 상속 (GST.PlusWin6.Core.dll 참조)

조회 조건 컨트롤 자동 생성 규칙
GroupControlEx
를 생성하고 Name 속성에 "grpTop"으로 지정하고 하위 컨트롤에LayoutControlEx
생성 후 Name 속성을 "lcParams" 로 정의OnLoad
에서InitConditionArea
메서드를 호출. 함께 자동 생성되는 조회 버튼(SimpleButton
)을 Output 타입의 파라미터로 반환 받아 Click 이벤트 등록
private SimpleButton _RetrieveButton = null;
protected override void OnLoad(EventArgs e)
{
base.OnLoad(e);
grpList.Text = _BizComponentInfo.BizComponentName;
InitConditionArea(out _RetrieveButton);
InitGridColumn();
_RetrieveButton.Click += OnClick;
}
결과 반환 처리
BizComponentPopupBase 클래스에 정의된 DataRow 형식의 ResultDataRow 속성 멤버에 팝업에서 선택한 값을 할당
private bool Confirm()
{
if (gvwList.FocusedRowHandle < 0)
{
MessageForm.Show(Messages.NoDataSelected);
return false;
}
ResultDataRow = gvwList.GetFocusedDataRow();
return true;
}
공통 팝업 내 서브폼 개발
일반 메뉴 폼 개발에서 서브 폼을 개발하는 방식과 동일하게
BaseForm
클래스(namespace GST.PlusWin6.Core.Forms)를 상속하여 개발하며 서브 폼 개체를 생성할 때도 마찬가지로CreateSubForm
메서드를 이용하여 처리
적용
[PlusWin-Dev6 - 코드 정보] 공통 팝업 정보 등록
[비즈니스 컴포넌트] 메뉴에서 컨트롤 유형이 "Popup"인 비즈니스 컴포넌트의 '팝업 폼' 항목에 공통 팝업 지정


주의 사항
모든 디자인과 데이터 조회 기능을 수동으로 작업한 경우, ButtonEditEx의 자동 완성 기능을 사용하려 할 때 조회 조건용 컨트롤의 Tag 속성에 WHERE 구문에 입력한 조건용 필드명을 입력
ex) txtItemcd (TextEditEx) 수동 생성 시 →
txtItemcd.Tag = "itemcd";
Last updated