亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

ASP.NET實現類似Excel的數據透視表

2019-11-17 01:47:39
字體:
來源:轉載
供稿:網友

asp.net實現類似Excel的數據透視表

代碼:/Files/zhuqil/Pivot.zip

數據透視表提供的數據三維視圖效果,在Microsoft Excel能創建數據透視表,但是,它并不會總是很方便使用Excel。您可能希望在Web應用程序中創建一個數據透視報表。創建一個簡單的數據透視表可能是一件非常復雜的任務。所以,我打算不但為你提供一個非常有用的工具創建簡單和高級的數據透視表,而且為你移除一些籠罩他們的神秘面紗。

目標是:我們想要有能力將datatable中的二維的數據轉換成三維視圖。

在大多數情況下,你會從數據庫的查詢數據填充數據表,例如

代碼

該查詢會產生下面的數據表:

Sales Person

PRoduct

Quantity

Sale Amount

John

Pens

200

350

John

Pencils

400

500

John

Notebooks

100

300

John

Rulers

50

100

John

Calculators

120

1200

John

Back Packs

75

1500

Jane

Pens

225

393.75

Jane

Pencils

335

418.75

Jane

Notebooks

200

600

Jane

Rulers

75

150

Jane

Calculators

80

800

Jane

Back Packs

97

1940

Sally

Pens

202

353.5

Sally

Pencils

303

378.75

Sally

Notebooks

198

600

Sally

Rulers

98

594

Sally

Calculators

80

800

Sally

Back Packs

101

2020

Sarah

Pens

112

196

Sarah

Pencils

245

306.25

Sarah

Notebooks

198

594

Sarah

Rulers

50

100

Sarah

Calculators

66

660

Sarah

Back Packs

50

2020

正如你所看到的,這是一個二維表,它不是一個非常有用的報表。因此,我們得改變,將它變成更可讀的數據表。

數據透視表有3個面。

X軸構成了在表格上方的大標題。Y軸構成表的左欄,Z軸構成了X軸和Y軸對應的值。簡單的數據透視表將會對每一個x軸值都只有一個z軸列,高級的數據透視表將對于每個X軸的值會對應有多個Z軸的值。

一個非常重要的一點是,Z軸的值只能是數字。這是因為Z軸值為橫軸和縱軸的總額。使用一個非數值Z軸字段將拋出一個異常。

因此,如果你注意上面的數據表,你會發現,“Sales Person”和“Product”字段可以分配到的X軸或Y軸,但不能給z軸。在“Quantity”和“Sale Amount”字段可以被分配到z軸。

Pivot 類將數據表轉換成html table。然后您可以將它輸出到Web窗體上。那么,這只是實現的方法。如果你愿意,你可以根據這個類的邏輯創建一個用戶控件。

代碼

這部分的代碼是非常自我解釋。 你能創建一個Pivot 對象,通過傳遞一個datatable作為參數。在init()方法只分配一個空字符串值給CSS變量。如果CSS的變量是一個空字符串,構造方法將使用默認的樣式。每一個CSS變量都有一個相應的屬性。

代碼privatestringFindValue(stringxAxisField,stringxAxisValue,stringyAxisField,stringyAxisValue,stringzAxisField){stringzAxisValue="";try{foreach(DataRowrowin_DataTable.Rows){if(Convert.ToString(row[xAxisField])==xAxisValue&&Convert.ToString(row[yAxisField])==yAxisValue){zAxisValue=Convert.ToString(row[zAxisField]);break;}}}catch{throw;}returnzAxisValue;}

在FindValue(...)方法在數據表中搜索的對應x軸和y軸值的Z軸值。xAxisField是X軸字段的列名(例如“Product”),而xAxisValue是在該列的值。該yAxisField是的Y軸字段的列名(例如“Sales Person”),并yAxisValue是在該列的值。該zAxisField是列名,在其中Z軸值,是您正在尋找地(例如“Sale Amount”)。

代碼privatestring[]FindValues(stringxAxisField,stringxAxisValue,stringyAxisField,stringyAxisValue,string[]zAxisFields){intzAxis=zAxisFields.Length;if(zAxis<1)zAxis++;string[]zAxisValues=newstring[zAxis];//setdefaultvaluesfor(inti=0;i<=zAxisValues.GetUpperBound(0);i++){zAxisValues[i]="0";}try{foreach(DataRowrowin_DataTable.Rows){if(Convert.ToString(row[xAxisField])==xAxisValue&&Convert.ToString(row[yAxisField])==yAxisValue){for(intz=0;z<zAxis;z++){zAxisValues[z]=Convert.ToString(row[zAxisFields[z]]);}break;}}}catch{throw;}returnzAxisValues;}

在FindValues(...)方法類似FindValue(...)方法,然而,它會返回多個z軸的值。這是用于高級的數據透視表,對應于x軸的值,您會有多個Z軸列。

代碼

這是CSS樣式的方法之一。這在X軸上使用流行的樣式(table的頂行)。如果您沒有指定一個CSS類名給這個屬性,該方法將使用默認的樣式。 CSS類將會被應用到網頁中的HTML table。

代碼///<summary>///Createsanadvanced3DPivottable.///</summary>///<paramname="xAxisField">Themainheadingatthetopofthereport.</param>///<paramname="yAxisField">Theheadingontheleftofthereport.</param>///<paramname="zAxisFields">Thesubheadingatthetopofthereport.</param>///<returns>HtmlTableControl.</returns>publicHtmlTablePivotTable(s
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
97久久精品人搡人人玩| 亚洲色图校园春色| 欧美午夜片在线免费观看| 国产精品高清在线观看| 国产精品日韩一区| 久热99视频在线观看| 亚洲欧美999| 欧美性猛交xxxx免费看| 国模视频一区二区| 亚洲自拍高清视频网站| 国产午夜精品麻豆| 亚洲国产欧美自拍| 欧美日韩国产在线| 欧美激情xxxx| 国产精品尤物福利片在线观看| 国产99久久精品一区二区 夜夜躁日日躁| 91热精品视频| 国产亚洲视频在线| 久久国产精品偷| 秋霞成人午夜鲁丝一区二区三区| 成人妇女淫片aaaa视频| 一本大道久久加勒比香蕉| 97精品一区二区三区| 国产久一一精品| 欧美午夜精品久久久久久人妖| 亚洲欧美日韩国产中文| 欧美与黑人午夜性猛交久久久| www.国产精品一二区| 日韩av中文字幕在线播放| 日本亚洲精品在线观看| 亚洲精品国产综合久久| 国产丝袜一区二区三区免费视频| 亚洲精品www久久久久久广东| 精品动漫一区二区| 日韩免费在线观看视频| 亚洲色图狂野欧美| 久久久久国产精品免费网站| 国产精品美乳一区二区免费| 日韩欧美高清视频| 欧美午夜无遮挡| 国产精品人成电影在线观看| 亚洲精品xxxx| 日韩av第一页| 色哟哟网站入口亚洲精品| 成人网址在线观看| 亚洲一区国产精品| 777国产偷窥盗摄精品视频| 精品国产一区二区三区久久狼黑人| 亚洲bt天天射| 成人黄色短视频在线观看| 欧美第一页在线| 国产日韩精品在线播放| 欧美国产精品人人做人人爱| 另类少妇人与禽zozz0性伦| 岛国av一区二区三区| 久热99视频在线观看| 亚洲精品小视频在线观看| 亚洲国产精品中文| 最新国产精品亚洲| 久久中文字幕一区| 国产精品久久综合av爱欲tv| 日韩av在线资源| 成人网中文字幕| 国产精品视频最多的网站| 国产精品久久久久福利| 91久久精品日日躁夜夜躁国产| 色爱精品视频一区| 91久久精品在线| 永久免费毛片在线播放不卡| 国产精品视频男人的天堂| 欧美一乱一性一交一视频| 亚洲欧美制服丝袜| 国产精品免费久久久久影院| 亚洲国产日韩欧美在线动漫| 久久综合免费视频影院| 亚洲一区二区三区香蕉| 欧美午夜激情小视频| 亚洲欧美日韩国产中文专区| 成人伊人精品色xxxx视频| 日韩中文字在线| 成人免费视频xnxx.com| 日韩有码在线视频| 精品一区二区亚洲| 在线日韩日本国产亚洲| 欧美精品videos另类日本| 久久国产精品久久久久久| 中文字幕亚洲一区二区三区五十路| 在线日韩av观看| 色老头一区二区三区在线观看| 久久精品视频在线播放| 97视频在线观看视频免费视频| 国产精品视频自拍| 国产午夜精品一区理论片飘花| 国产精品入口福利| 欧美性xxxx极品hd欧美风情| 成人福利网站在线观看11| 欧美在线免费看| 三级精品视频久久久久| 国产精品久久久久久av下载红粉| 26uuu另类亚洲欧美日本一| 久久久免费高清电视剧观看| 尤物九九久久国产精品的分类| 日本不卡高字幕在线2019| 亚洲精品午夜精品| 国产99久久精品一区二区| 亚洲日本中文字幕免费在线不卡| 亚洲欧美变态国产另类| 亚洲女人初尝黑人巨大| 2024亚洲男人天堂| 日韩欧美中文字幕在线观看| 精品日本高清在线播放| 国产乱人伦真实精品视频| 亚洲免费视频观看| 91tv亚洲精品香蕉国产一区7ujn| 成人乱色短篇合集| 亚洲午夜久久久久久久| 亚洲欧美中文字幕在线一区| 九色91av视频| 国产亚洲视频中文字幕视频| 亚洲精品成人免费| 久久久久久国产三级电影| 日韩精品在线免费观看| 性欧美视频videos6一9| 亚洲男人的天堂网站| 亚洲精品xxx| 久久影院模特热| 久热精品视频在线观看一区| 久久国产精品久久国产精品| 视频一区视频二区国产精品| 欧美精品在线免费观看| 亚洲深夜福利视频| 亚洲第一天堂av| 国产精品老女人视频| 欧美一区深夜视频| 国产精品国产自产拍高清av水多| 久久av在线看| 欧美在线视频免费观看| 日韩精品www| 欧美丰满少妇xxxxx| 国产精品综合不卡av| 国产一区二区三区视频| 成人性生交大片免费观看嘿嘿视频| 国产在线视频一区| 亚洲新中文字幕| 日韩在线视频免费观看高清中文| 久久久之久亚州精品露出| 国产欧美一区二区| 91国产视频在线| 91人成网站www| 疯狂欧美牲乱大交777| 亚洲石原莉奈一区二区在线观看| 中文字幕欧美日韩在线| 亚洲日韩欧美视频一区| 日韩在线观看你懂的| 久久中文字幕国产| 国产精品人成电影| 国产精品电影观看| 亚洲国产成人一区| 亚洲精品影视在线观看| 日韩精品在线免费| 波霸ol色综合久久| 亚洲人在线观看| 日韩电影中文字幕一区| 亚洲精品综合精品自拍|