ASP.NET实例教程:创建数据透视表(4)

http://www.itjxue.com  2015-07-17 01:58  来源:未知  点击次数: 

Pivot.zip文件中包括两个解决方案。Pivot 是一个类库解决方案是。您可以编译此解决方案和在Web应用程序中引用Pivot.dll。另一个解决方案是PivotTest,它是是一个ASP.NET应用程序。这说明如何实现Pivot类。

public DataTable DataTableForTesting
{
    get
    {
        DataTable dt = new DataTable("Sales Table");
        dt.Columns.Add("Sales Person");
        dt.Columns.Add("Product");
        dt.Columns.Add("Quantity");
        dt.Columns.Add("Sale Amount");
        dt.Rows.Add(new object[] { "John", "Pens", 200, 350.00 });
        dt.Rows.Add(new object[] { "John", "Pencils", 400, 500.00 });
        dt.Rows.Add(new object[] { "John", "Notebooks", 100, 300.00 });
        dt.Rows.Add(new object[] { "John", "Rulers", 50, 100.00 });
        dt.Rows.Add(new object[] { "John", "Calculators", 120, 1200.00 });
        dt.Rows.Add(new object[] { "John", "Back Packs", 75, 1500.00 });
        dt.Rows.Add(new object[] { "Jane", "Pens", 225, 393.75 });
        dt.Rows.Add(new object[] { "Jane", "Pencils", 335, 418.75 });
        dt.Rows.Add(new object[] { "Jane", "Notebooks", 200, 600.00 });
        dt.Rows.Add(new object[] { "Jane", "Rulers", 75, 150.00 });
        dt.Rows.Add(new object[] { "Jane", "Calculators", 80, 800.00 });
        dt.Rows.Add(new object[] { "Jane", "Back Packs", 97, 1940.00 });
        dt.Rows.Add(new object[] { "Sally", "Pens", 202, 353.50 });
        dt.Rows.Add(new object[] { "Sally", "Pencils", 303, 378.75 });
        dt.Rows.Add(new object[] { "Sally", "Notebooks", 198, 600.00 });
        dt.Rows.Add(new object[] { "Sally", "Rulers", 98, 594.00 });
        dt.Rows.Add(new object[] { "Sally", "Calculators", 80, 800.00 });
        dt.Rows.Add(new object[] { "Sally", "Back Packs", 101, 2020.00 });
        dt.Rows.Add(new object[] { "Sarah", "Pens", 112, 196.00 });
        dt.Rows.Add(new object[] { "Sarah", "Pencils", 245, 306.25 });
        dt.Rows.Add(new object[] { "Sarah", "Notebooks", 198, 594.00 });
        dt.Rows.Add(new object[] { "Sarah", "Rulers", 50, 100.00 });
        dt.Rows.Add(new object[] { "Sarah", "Calculators", 66, 660.00 });
        dt.Rows.Add(new object[] { "Sarah", "Back Packs", 50, 2020.00 });
        return dt;
    }
}

我已创建数据表的属性,它建立在上面的例子中的数据表。这只是用于演示目的。

protected void Page_Load(object sender, EventArgs e)
{
    //Advanced Pivot
    Pivot advPivot = new Pivot(DataTableForTesting);
    HtmlTable advancedPivot = advPivot.PivotTable("Sales Person", "Product", new string[] { "Sale Amount", "Quantity" });
    div1.Controls.Add(advancedPivot);
    //Simple Pivot
    Pivot pivot = new Pivot(DataTableForTesting);
    //override default style with css
    pivot.CssTopHeading = "Heading";
    pivot.CssLeftColumn = "LeftColumn";
    pivot.CssItems = "Items";
    pivot.CssTotals = "Totals";
    pivot.CssTable = "Table";
    HtmlTable simplePivot = pivot.PivotTable("Product", "Sales Person", "Sale Amount");
    div2.Controls.Add(simplePivot);
}

上述代码包括两个实例化的pivot对象。第一个高级的pivot和第二是一个简单的pivot。你可以看到我已经为div添加了HtmlTable控件。我创建具有runat="server"属性的div,这样我可以在后台代码里面访问它。div只是帮助HtmlTable的定位。

使用默认样式的高级的数据透视表:

运行代码框

[Ctrl+A 全部选择 提示:你可先修改部分代码,再按运行]

使用自定义的CSS样式简单的数据透视表:

代码:Pivot.zip

(责任编辑:IT教学网)

更多

推荐ASP.NET教程文章