DevExpress v20.1フルバージョンをダウンロード
最新のコントロールガントチャートであるDevExpress v20.1の使用方法を教える40分で今すぐ登録>>
DevExpress Winformsコントロールには 、140以上のUIコントロールとライブラリが組み込まれており、スムーズで美しく、使いやすいアプリケーションを構築するのに最適です。体験してみませんか?クリックしてダウンロード>>
この記事では、カスタムDevExpressレポートコントロール(スイスQR-Billレポートコンポーネント)を作成する方法と、開発プロセスで発生した問題を解決する方法について説明します。この情報が、カスタムDevExpressレポートコントロールを作成するユーザーにとって役立つことを願っています。
この記事では、レポートコントロールの開発における謎を取り除くために、デザイン時の設定、シリアル化デザイナーコンポーネントと関連する「ブリック」の作成方法、およびコンポーネントのレンダリングと印刷の方法について説明します。最初の部分にはスイスQRビルコントロールに関する一般的な情報が含まれており、コントロール自体の要件を説明し、2番目の部分にはコンポーネントの実装の詳細を示します。
一般情報
スイスQRビルは、QRコード付きの新しいタイプの支払い伝票です。スイスQRビルには、次の要素が含まれています。
- 領収書
- 支払い部分
- バーコード
請求書では次のレイアウトを使用できます。
- A4用紙に印刷された「完全な」請求書。
- A6用紙に印刷された「短い」請求書。
- 請求書を継続的に印刷します。
- 請求書は1ページに印刷されます。
「完全な」請求書には領収書が含まれていますが、「空の」請求書には支払い情報のみが含まれています。コンポーネントのBillKindプロパティは、完全な請求書のPaymentAndReceipt値と短期請求書のPaymentOnly値を指定します。連続印刷または個別印刷は、IntegratedModeプロパティで指定されます。
請求書をA4またはA6用紙に印刷(またはPDFにエクスポート)し、BillOption.PreviewSeparatorKindおよびBillOption.PdfSeparatorKindプロパティでそれぞれミシン目線を指定します。このコンポーネントを使用すると、任意のフィールドの言語とフォントを変更できます。また、StringDataプロパティを使用して、フィールドを外部データソースにバインドできます。
レポートコントロールの開発の概要
新しいレポートコントロールを作成するには、次の操作を行う必要があります。
- 基本クラスを選択します。適切なコントロールが見つからない場合は、XRControlクラスからコンポーネントを継承してください。
- コンポーネントのオブジェクトモデルを作成し、一連のプロパティと関連プロパティを指定します。これらのプロパティは、プロパティをシリアル化する方法と、プロパティグリッドにプロパティを表示する方法を決定します。
- Visual Studioおよびエンドユーザーデザイナー用のコンポーネントデザイナーを作成します。デザイナーは、デザイン中にコンポーネントの外観と操作を決定し、必要に応じて属性を追加します。
- コンポーネントの「ブリック」を選択します。当然のことながら、基本クラスによって作成されたビルディングブロックを選択します。ただし、コンポーネントがXRControlクラスから継承する場合、2つのオプションがあります。単純なブリックが必要な場合は、ブリックの基本クラスとしてVisualBrickを選択します。コンテナには、PanelBrickを選択します。
- コンポーネントがその「レンガ」を作成する方法を指定し、コンポーネントのプロパティをレンガの特性にマッピングします。
- BrickExporterクラスを実装して、描画とエクスポートのメソッドをカバーする「brick」を提示します。
以下のセクションでは、SwissQRBillコンポーネントの作成方法について詳しく説明します。
コンポーネントの実現
SwissQRBillコンポーネントはXRControlの子孫であるため、独自の「ブリック」、シリアル化、およびデザイナーのツールボックス内のアイテムがあります。
設計時
コンポーネントをVisual Studioツールボックスに追加するには、コンポーネントにToolBoxItem(true)属性が必要です。
WinFormsエンドユーザーデザイナーでは、コンポーネントがIToolBoxServiceに登録され、DesignPanelLoadedイベントを処理してから、IToolBoxService.AddToolBoxItemメソッドを呼び出してコンポーネントを登録する必要があります。
コンポーネントの設計時機能を実現するには、Visual StudioおよびWinForms End-User DesignerのDesignerおよびXRDesignerプロパティをそれぞれ追加してください。コントロールのサイズ変更規則とスマートタグ項目は、必要に応じて変更する必要があります。スマートタグ項目は、コンポーネントデザイナーに登録されているDesignerActionListオブジェクトによって指定され、GetSelectionRulesCoreメソッドは、コントロールのサイズ変更規則を変更します。
プロパティグリッドを設定するときは、拡張可能なオブジェクトに特に注意してください。この例では、ExpandableObjectConverterの子孫が作成され、ConvertToメソッドがオーバーライドされます。新しいConvertToメソッドの実装は、プロパティグリッドエディターに表示される文字列を変更します。AddressTypeConverterのGetPropertiesメソッドは、アドレスタイプの不要なプロパティを削除します。
DevExpress Technical Exchange Group 2:775869749グループディスカッションへようこそ