10

現在、XtraReports レポート ツールを調べていますが、まだわからないことがあります。

設計時に接続、アダプター、およびデータセットを構築することなく、プログラムで行うことなく、特定のフィールドのデータソースを設定するにはどうすればよいですか (レポートではラベルとして表示されます)。

たとえば、UserId、Username、Password の 3 つのフィールドを持つ「User」というテーブルを作成できます。レポート デザイナーに 3 つのラベルを配置し (これが私の質問です)、3 つのデータベース フィールドを表示するためのデータソースを設定します。次に、コード ビハインドで、接続を作成し、コマンドを実行し、データセットに入力し、レポート インスタンスを作成し、それにデータテーブルを渡し、レポート プレビューを表示します。

これは可能ですか?十分に明確でない場合はお知らせください。

ありがとう!

4

6 に答える 6

12

Report の DataSourceSchema プロパティを、DataSource を表す XML スキーマに設定できます。これにより、Report Designer を使用して、データベースへの接続を毎回確立することなく、設計時にデータ バインディングを設定できます。

方法は次のとおりです。 レポート クエリがほぼ完成したら、次の呼び出しでコードを 1 回実行します。

myDataSet.WriteXml("C:\myDataSourceSchema.xml", System.Data.XmlWriteMode.WriteSchema)

次に、レポート デザイナーで、レポートの DataSourceSchema プロパティを新しく作成したファイルに設定します。これにより、レポート デザイナーの [フィールド リスト] タブにデータが入力され、デザイン時にバインドできるようになります。そうすれば、有効なデータ ソースを 1 回 (または列を変更するたびに) 持つだけで済みます。間違いなく Przemaas のアプローチを実行し、すべてのデータ バインディングをコードで行うことができますが、私はほとんどの作業をデザイナーに任せることを好みます。

于 2009-08-07T13:57:09.850 に答える
5

データセットなしでレポートを作成するには、IList オブジェクトを使用します。この素晴らしいチュートリアルに従ってください

方法: Web レポートを配列リストにバインドする https://documentation.devexpress.com/#XtraReports/CustomDocument3851

于 2010-03-31T21:42:52.313 に答える
4

はい、可能です。コードで必要なデータバインディングを定義できます。

this.xrLabel1.DataBindings.Add(new DevExpress.XtraReports.UI.XRBinding("Text", data, "Name", "aaa"));
  • ここのテキストは、XrLabel クラスのプロパティです。バインドされたフィールドをラベルにテキストとして表示したいとします。
  • データはデータを持つオブジェクトです
  • 「名前」は表示したいフィールドの名前です
  • 「aaa」は表示形式で、カスタム形式で値を表示する場合に適用されます

基本的に、XtraReport のデータバインディングは、標準の Windows フォームのデータバインディングとほとんど同じように機能します。

さらにガイドラインが必要な場合はお知らせください

于 2009-08-07T10:35:50.660 に答える
2

ここに代替があります..

rtpObject.DataSourceSchema = dataSet.GetXmlSchema();
于 2013-07-06T10:39:16.173 に答える
1
XRBinding binding = new XRBinding("Text", ageingBindingSource, "ageing_contactsLookup.name");
this.xrLabel19.DataBindings.Add(binding);

// また //

XRBinding binding = new XRBinding("Text", dbaDataSet, "transactions.fk_transitems_transactionid.name2");
this.xrTableCell1.DataBindings.Add(binding);
于 2013-11-23T13:14:14.333 に答える
1

これを行う前に、modifier プロパティを public として設定します

InvoicePrinting_Rpt InvoicePrintingRpt = new InvoicePrinting_Rpt();//report object 

InvoicePrintingRpt.BillDetails.Report.DataSource = ds_Invoice;
InvoicePrintingRpt.Report.DataMember = ds_Invoice.Tables[0].TableName;
 //bellow third parameter as your column name.
InvoicePrintingRpt.lbl_BillHead.DataBindings.Add("Text", null, "BILL_DESCRIPTION");
InvoicePrintingRpt.lbl_Det_Date.DataBindings.Add("Text", null, "TRANSACTION_DATE");
InvoicePrintingRpt.lbl_ISINCode.DataBindings.Add("Text", null, "ISIN_CODE");

ReportViewer1.Report = InvoicePrintingRpt;//assign report obj   
ReportViewer1.Report.Name = "DevExpress_Reports.InvoicePrinting_Rpt";
ReportViewer1.DataBind(); //binding
于 2013-11-20T12:42:42.893 に答える