Example of Creating the StatTreeView Component

To execute the example, create an HTML page and execute the following operations:

1. Add links to the following files: PP.css, PP.Express.css.

Also add links to the following JS files: PP.js, PP.Metabase.js, PP.Express.js, and resources.ru.js.

2. In the <head> tag specify style for the elements:

<style type="text/css">
body, html
{
    height: 100%;
    width: 100%; 
    margin: 0;
    padding: 0;
    overflow: hidden;
} 
</style>

3. Then in the <head> tag add a script to create a dialog box showing a tree that contains summary statistics of express report data StatTreeView:.

<script type="text/javascript">
    var metabase, eaxAnalyzer, eaxMbService, waiter, statTreeView;
    var IMAGE_PATH = "../Debug/img/";
    function Ready() {
        // Determine language settings for resources
        PP.setCurrentCulture(PP.Cultures.ru)
        // Specify path to the root folder with resources files
        PP.resourceManager.setRootResourcesFolder("../resources/");
        waiter = new PP.Ui.Waiter();
        // Create a repository connection
        metabase = new PP.Mb.Metabase({
            ExportUrl: "PPService.axd?action=export",
            ImportUrl: "PPService.axd?action=import",
            PPServiceUrl: "PPService.axd?action=proxy",
            Id: "WAREHOUSE",
            UserCreds: { 
                UserName: "user", 
                Password: "password" 
            },
            StartRequest: function () {
                // On metadat request, show component of the PP.Ui.Waiter type
                waiter.show();
            },
            EndRequest: function () {
                // After metadata request, hide component of the PP.Ui.Waiter type
                waiter.hide();
            },
            Error: function (sender, args) {
                // In case of error, display error description
                alert(args.ResponseText);
            }
        });
        // Open repository connection
        metabase.open();
        // Create a service used to work with express reports
        eaxMbService = new PP.Exp.EaxMdService({ 
            Metabase: metabase 
        });
        // Open express report with the 108 key
        eaxAnalyzer = eaxMbService.editDocument(108); 
    }
    function openStat() {
        // Create a dialog box with summary statistics of express report data
        statTreeView = new PP.Exp.Ui.StatTreeView({
            Source: eaxAnalyzer, // Set data source
            Width: 500,
            Height: 500,
            ShowLines: true,
            ParentNode: document.body
        });
    }
    // Function for requesting statistical data from services
    function getStat() {
        // Request data from services
        eaxMbService.getStatData(eaxAnalyzer, refresh);
        function refresh() {
            statTreeView.refreshAll();
            // Select optimum column width in the tree
            statTreeView.adjustColumnWidth();
            alert(Data is obtained and statistics tree is refreshed');
        }
    }
</script>

4.  In the <body> tag as the value of the onLoad attribute specify name of the function that loads an express report document, inside the tag place two buttons clicking which creates a dialog box and loads statistic data to this dialog:

<body onselectstart="return false" class="PPNoSelect" onload="Ready()">
<!-- Button, clicking on which creates a dialog box -->
<input type="button" value="Display dialog box" onclick="openStat()" />
<!-- Button, clicking on which loads statistical data  to component -->
<input type="button" value="Get data" onclick="getStat()" />
</body>

5. At the end of the document insert a code that sets styles corresponding to client's operating system, to  the document.body node:

<script type="text/javascript">
    PP.initOS(document.body);
</script>

After executing the example on clicking the Show Dialog and Get Data buttons a StatTreeView component is added to the HTML page:

See also:

StatTreeView