发布时间 : 2019-01-08 11:10:05.000|阅读 222 次
概述:此示例显示如何在报表中使用用户数据并从代码中注册它。
相关链接:
此示例显示如何在报表中使用用户数据并从代码中注册它。
要使用XML数据,首先应加载XML文件并将其转换为XML对象。为此,您可以使用StiTypeConverter.stringToXml()静态方法。执行此操作后,您可以使用报表对象的regData()方法将XML数据注册到报表中。作为参数,您应该传递数据源名称和别名,以及此XML对象:
private var reportString: String; private var xmlData: XMLNode; private function onInitialize(): void { ... // Load XML data file var request2: URLRequest = new URLRequest("reports/data/Demo.xml"); var loader2: URLLoader = new URLLoader(); loader2.addEventListener(Event.COMPLETE, onXmlLoadComplete); loader2.load(request2); } private function onXmlLoadComplete(event: Event): void { var loader: URLLoader = event.target as URLLoader; var data: String = loader.data as String; xmlData = StiTypeConverter.stringToXml(data); } private function onRegDataXmlClick(): void { // Create new report object var report: StiReport = new StiReport(); // Load report from XML string report.loadReportFromString(reportString); // Registration of XML data with same name "Demo" report.regData("Demo", "Demo", xmlData); // Show report in Viewer dialog window report.showDialog(); }
您还可以使用DataSet,DataTable,DataColumn类来创建用户数据集。例如,使用一个CustomerName数据列和三个数据行创建一个Customers数据表。创建后,您可以使用报表对象的regData()方法:
private function onRegDataSetClick(): void { // Create new Data Table var table: DataTable = new DataTable("Customers"); // Create new Data Column var column: DataColumn = new DataColumn("CustomerName", StorageType.StringType); // Add Data Column to Data Table table.columns.add(column); // Create new Data Rows table.addNewRow().setValue("CustomerName", "John Smith"); table.addNewRow().setValue("CustomerName", "Antonio Moreno"); table.addNewRow().setValue("CustomerName", "Elizabeth Brown"); // Create new Data Set var dataSet: DataSet = new DataSet("DataSetName"); // Add Data Table to Data Set dataSet.tables.add(table); // Create new report object var report: StiReport = new StiReport(); // Registration of user Data Set report.regData("DataSetName", "DataSetName", dataSet); // Synchronize report dictionary report.dictionary.synchronize(); // Design report in Designer dialog window report.designDialog(); }
下面的屏幕截图中,您可以看到示例代码的结果。
购买Stimulsoft正版授权,请点击“咨询在线客服”哟!