사용자 지정 DevExpress 보고서 컨트롤을 만드는 방법, 읽은 후에 이해할 수 있습니다.

DevExpress v20.1 정식 버전 다운로드 

최신 Control-Gantt 차트 인 DevExpress v20.1을 시작하는 방법을 가르치는 40 분, 지금 등록 >>

DevExpress Winforms Controls에는  140 개가 넘는 UI 컨트롤 및 라이브러리 내장되어있어 부드럽고 아름답고 사용하기 쉬운 애플리케이션을 구축하는 데 적합합니다. 경험하고 싶습니까? 다운로드하려면 클릭 >>

이 기사는 맞춤형 DevExpress Report 컨트롤 (Swiss QR-Bill 보고서 구성 요소)을 구축하는 방법과 개발 프로세스에서 발생하는 문제를 해결하는 방법을 기록합니다.이 정보가 맞춤형 DevExpress Report 컨트롤을 생성하는 사용자에게 유용하기를 바랍니다.

보고서 컨트롤 개발의 미스터리를 제거하기 위해이 문서에서는 디자인 타임 설정을 만드는 방법, 디자이너 구성 요소 및 관련 "벽돌"을 직렬화하는 방법, 구성 요소를 렌더링하고 인쇄하는 방법에 대해 설명합니다. 첫 번째 부분은 Swiss QR Bill 컨트롤에 대한 일반 정보를 포함하고 컨트롤 자체의 요구 사항을 설명하고 두 번째 부분은 구성 요소 구현에 대해 자세히 설명합니다.

일반 정보

Swiss QR Bill은 QR 코드가있는 새로운 유형의 결제 전표입니다. Swiss QR Bill에는 다음 요소가 포함됩니다.

  • 영수증
  • 지불 부분
  • 바 코드

송장은 다음 레이아웃을 사용할 수 있습니다.

  • A4 용지에 인쇄 된 "전체"송장;
  • A6 용지에 인쇄 된 "짧은"송장;
  • 지속적으로 송장을 인쇄하십시오.
  • 한 페이지에 인쇄 된 송장.

"전체"인보이스에는 영수증이 포함되고 "빈"인보이스에는 결제 정보 만 포함됩니다. 구성 요소의 BillKind 속성은 전체 송장의 PaymentAndReceipt 값과 단기 송장의 PaymentOnly 값을 지정합니다. 연속 인쇄 또는 개별 인쇄는 IntegratedMode 속성에 의해 지정됩니다.

송장을 A4 또는 A6 용지에 인쇄 (또는 PDF로 내보내기)하고 각각 BillOption.PreviewSeparatorKind 및 BillOption.PdfSeparatorKind 속성을 통해 절취선을 지정합니다. 이 구성 요소를 사용하면 모든 필드의 언어 및 글꼴을 변경할 수 있으며 StringData 속성을 사용하여 필드를 외부 데이터 소스에 바인딩 할 수 있습니다.

보고서 제어 개발 개요

새 보고서 컨트롤을 만들려면 다음을 수행해야합니다.

  1. 파생 된 적절한 컨트롤을 찾을 수없는 경우 기본 클래스를 선택하십시오. XRControl 클래스에서 구성 요소를 상속하십시오.
  2. 구성 요소의 개체 모델을 만들고 속성 및 관련 속성 집합을 지정합니다. 이러한 속성은 속성을 직렬화하는 방법과 속성 그리드에 속성을 표시하는 방법을 결정합니다.
  3. Visual Studio 및 최종 사용자 디자이너 용 구성 요소 디자이너를 만듭니다. 디자이너는 디자인 중에 구성 요소의 모양과 작동을 결정하고 필요에 따라 특성을 추가합니다.
  4. 구성 요소의 "브릭"을 선택합니다. 확실한 선택은 기본 클래스에 의해 생성 된 빌딩 블록입니다. 그러나 구성 요소가 XRControl 클래스에서 상속되는 경우 두 가지 옵션이 있습니다. 간단한 Brick이 필요한 경우 VisualBrick을 Brick의 기본 클래스로 선택합니다. 컨테이너의 경우 PanelBrick을 선택합니다.
  5. 구성 요소가 "벽돌"을 생성하는 방법을 지정하고 구성 요소의 특성을 벽돌의 특성에 매핑합니다.
  6. 그리기 및 내보내기 방법을 다루는 BrickExporter 클래스를 구현하여 "벽돌"을 표시합니다.

다음 섹션에서는 SwissQRBill 구성 요소를 빌드하는 방법을 자세히 설명합니다.

부품 실현

SwissQRBill 구성 요소는 XRControl의 자손이므로 디자이너의 도구 상자에 자체 "벽돌", 직렬화 및 항목이 있습니다.

디자인 타임

Visual Studio 도구 상자에 구성 요소를 추가하려면 구성 요소에 ToolBoxItem (true) 특성이 있어야합니다.

WinForms 최종 사용자 디자이너를 사용하려면 구성 요소가 IToolBoxService에 등록되고 DesignPanelLoaded 이벤트를 처리 한 다음 IToolBoxService.AddToolBoxItem 메서드를 호출하여 구성 요소를 등록해야합니다.

구성 요소의 디자인 타임 기능을 구현하려면 Visual Studio 및 WinForms 최종 사용자 디자이너에 대한 Designer 및 XRDesigner 속성을 각각 추가하십시오. 컨트롤의 크기 조정 규칙 및 스마트 태그 항목은 필요에 따라 수정해야합니다. 스마트 태그 항목은 구성 요소 디자이너에 등록 된 DesignerActionList 개체에 의해 지정되며 GetSelectionRulesCore 메서드는 컨트롤의 크기 조정 규칙을 수정합니다.

속성 그리드를 설정할 때 확장 가능한 개체에 특히주의하십시오. 이 예제에서는 ExpandableObjectConverter의 하위 항목이 생성되어 ConvertTo 메서드를 재정의합니다. 새로운 ConvertTo 메서드 구현은 속성 그리드 편집기에 표시되는 문자열을 변경합니다. AddressTypeConverter의 GetProperties 메서드는 주소 유형의 불필요한 속성을 삭제합니다.


DevExpress Technical Exchange Group 2 : 775869749 그룹 토론에 오신 것을 환영합니다.

Huidu 고급 UI 인터페이스 개발

추천

출처blog.csdn.net/AABBbaby/article/details/108376046