【Stimulsoft Reports Flex教程】報表中的使用者資料
阿新 • • 發佈:2019-01-11
此示例顯示如何在報表中使用使用者資料並從程式碼中註冊它。
要使用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(); }
下面的螢幕截圖中,您可以看到示例程式碼的結果。