XtraReportsレポートツールを調べていますが、まだ取得していないものがあります。
設計時に接続、アダプター、およびデータセットを構築する必要はなく、プログラムで行うことなく、特定のフィールド(レポートにラベルとして表示される)のデータソースを設定するにはどうすればよいですか。
たとえば、UserId、Username、Passwordの3つのフィールドを持つ「User」というテーブルを作成できます。レポートデザイナで、3つのラベルを配置し(これが私の質問です)、3つのデータベースフィールドを表示するためのデータソースを設定します。次に、コードビハインドで、接続を作成し、コマンドを実行し、データセットに入力し、レポートインスタンスを作成し、データテーブルをそれに渡し、レポートのプレビューを表示します。
これは可能ですか?はっきりしない場合はお知らせください。
ありがとう!
データセットなしでレポートを作成するには、IListオブジェクトを使用します...したがって、この素敵なチュートリアルに従ってください
方法:Webレポートを配列リストにバインドするhttps://documentation.devexpress.com/#XtraReports/CustomDocument3851
はい、可能です。コードで必要なデータバインディングを定義できます。
this.xrLabel1.DataBindings.Add(new DevExpress.XtraReports.UI.XRBinding("Text", data, "Name", "aaa"));
基本的に、XtraReportのデータバインディングは、標準のウィンドウがデータバインディングを形成するのとほとんど同じように機能します。
もっとガイドラインが必要か教えてください
これが代替案です。
rtpObject.DataSourceSchema = dataSet.GetXmlSchema();
このsetmodifierプロパティを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
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);