infragistics.Web.Mvc 使用(读取后台返回的数据)

来源:互联网 发布:winpe工具箱代网络 编辑:程序博客网 时间:2024/05/21 16:55

infragistics.Web.Mvc 使用(读取后台返回的数据)                   提供Flat Table的OLAP表格

//相关资源  http://download.csdn.net/detail/lglgsy456/5609013


//前台

<html>
<head>
     <!-- Infragistics Combined CSS -->
    <link href="~/Content/infra/themes/infragistics/infragistics.theme.css" rel="stylesheet" type="text/css" />
    <link href="~/Content/infra/structure/infragistics.css" rel="stylesheet" type="text/css" />
     <script type="text/javascript" src="~/Scripts/jquery-1.9.1.min.js"></script>
     <script type="text/javascript" src="~/Scripts/jquery-ui-1.10.0.min.js"></script>


    <!-- jQuery Core and jQ UI -->
    <script src="~/Scripts/infra/infragistics.core.js" type="text/javascript"></script>
    <script src="~/Scripts/infra/infragistics.lob.js" type="text/javascript"></script>


<body>
    <div id="pivotView"></div>
</body>
    
    <script type="text/javascript">
        var dataArray = [];
        var url = "@Url.Action("ReportsData")";
        $.ajax({
            url: url,
            async:false,
            type: "POST",
            dataType: "json",
            error: function () {
            },
            success: function (data) {
                dataArray = data;
            }
        });
        var data = dataArray;
        //[{ "ProductCategory": "Clothing", "UnitPrice": 12.81, "SellerName": "Stanley Brooker", "Country": "Bulgaria", "City": "Plovdiv", "Date": "01/01/2012", "UnitsSold": 282 },
        //{ "ProductCategory": "Clothing", "UnitPrice": 49.57, "SellerName": "Elisa Longbottom", "Country": "US", "City": "New York", "Date": "01/05/2013", "UnitsSold": 296 },
        //{ "ProductCategory": "Bikes", "UnitPrice": 3.56, "SellerName": "Lydia Burson", "Country": "Uruguay", "City": "Ciudad de la Costa", "Date": "01/06/2011", "UnitsSold": 68 },
        //{ "ProductCategory": "Accessories", "UnitPrice": 85.58, "SellerName": "David Haley", "Country": "UK", "City": "London", "Date": "04/07/2012", "UnitsSold": 293 },
        //{ "ProductCategory": "Components", "UnitPrice": 18.13, "SellerName": "John Smith", "Country": "Japan", "City": "Yokohama", "Date": "12/08/2012", "UnitsSold": 240 },
        //{ "ProductCategory": "Clothing", "UnitPrice": 68.33, "SellerName": "Larry Lieb", "Country": "Uruguay", "City": "Ciudad de la Costa", "Date": "05/12/2011", "UnitsSold": 456 },
        //{ "ProductCategory": "Components", "UnitPrice": 16.05, "SellerName": "Walter Pang", "Country": "Bulgaria", "City": "Sofia", "Date": "02/19/2013", "UnitsSold": 492 }];


        $(function () {
            // create the OlapFlatDataSource instance
            var dataSource = new $.ig.OlapFlatDataSource({
                dataSource: data,
                metadata: {
                    cube: {
                        name: "Sales",
                        caption: "Sales",
                        measuresDimension: {
                            caption: "Measures",
                            measures: [ //for each measure, name and aggregator are required
                                {
                                    caption: "Units Sold", name: "UnitsSold",
                                    // returns a function that will be used as sum aggregatro on the 'UnitsSold property' of the data objects
                                    aggregator: $.ig.OlapUtilities.prototype.sumAggregator('UnitsSold')
                                }]
                        },
                        dimensions: [ // for each dimension name and hierarchies are required
                            {
                                caption: "Seller", name: "Seller", hierarchies: [{
                                    caption: "Seller", name: "Seller", levels: [
                                        {
                                            name: "AllSellers", caption: "All Sellers",
                                            memberProvider: function (item) { return "All Sellers"; }
                                        },
                                        {
                                            name: "SellerName", caption: "Seller",
                                            memberProvider: function (item) { return item.SellerName; }
                                        }]
                                }]
                            },
                            {
                                caption: "Date", name: "Date", /*displayFolder: "Folder1\\Folder2",*/hierarchies: [
                                    $.ig.OlapUtilities.prototype.getDateHierarchy(
                                        "Date", // the source property name
                                        ["year", "quarter", "month", "date"], // the date parts for which levels will be generated (optional)
                                        "Dates", // The name for the hierarchy (optional)
                                        "Date", // The caption for the hierarchy (optional)
                                        ["Year", "Quarter", "Month", "Day"], // the captions for the levels (optional)
                                        "All Periods") // the root level caption (optional)
                                ]
                            }
                        ]
                    }
                },
                // Preload hiearhies for the rows, columns, filters and measures
                rows: "[Date].[Dates]",
                columns: "[Seller].[Seller]",
                measures: "[Measures].[UnitsSold]"


            });


            $('#pivotView').igPivotView({
                dataSource: dataSource
            });
        });
</script>
</html>


//后台

public ActionResult Reports()
   {
            return View();
   }






        [HttpPost]
        public JsonResult ReportsData()
        {
            var model = new List<object>();
            model.Add(new { ProductCategory = "Clothing", UnitPrice = 12.81, SellerName = "Stanley Brooker1", Country = "Bulgaria", City = "Plovdiv", Date = "01/01/2012", UnitsSold = 282 });
            model.Add(new { ProductCategory = "Bikes", UnitPrice = 49.57, SellerName = "Elisa Longbottom", Country = "US", City = "New York", Date = "01/01/2012", UnitsSold = 208 });
            model.Add(new { ProductCategory = "Clothing", UnitPrice = 12.81, SellerName = "Stanley Brooker2", Country = "Bulgaria", City = "Plovdiv", Date = "01/01/2012", UnitsSold = 2832 });
            model.Add(new { ProductCategory = "Clothing", UnitPrice = 12.81, SellerName = "Stanley Brooker3", Country = "Bulgaria", City = "Plovdiv", Date = "01/01/2012", UnitsSold = 2812 });


            return Json(model);
        }