1. 程式人生 > >【Stimulsoft Reports Flex教程】報表中的使用者資料

【Stimulsoft Reports Flex教程】報表中的使用者資料

下載Stimulsoft Reports Flex最新版本

此示例顯示如何在報表中使用使用者資料並從程式碼中註冊它。

要使用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

下載示例