簡體   English   中英

創建顯示摘要銷售數據的GridView的最佳方法是什么?

[英]What is the best way to create a GridView showing summary sales data?

我已經在C#和ASP.Net中開發了一個電子商務應用程序。 對於Admin用戶的“儀表板”着陸頁,我想給他們一個GridView,向他們顯示幾個不同時間范圍內的總銷售金額,這些就是我的專欄(即,上一天,上周,上個月,最后年,總計)。 我想為處於不同狀態(即已完成,已付款但未發貨,正在處理)的訂單提供這些值。 類似於以下內容:

|OrderStatus|Today|LastWeek|LastMonth|
|Processed  |$10  |$100    |$34000   |
|PaidNotShip|$4   |$12     |$45      |

我的問題:最佳/最有效的方法是什么? 我知道我可以編寫單獨的SQL語句並將它們合並在一起,然后將gridview綁定到sqldatasource:

(select amountForYesterday, amountForLastWeek from sales where orderStatus = processed)
UNION 
(select amountForYesterday, amountForLastWeek from sales where orderStatus = paidnotshipped) 

但這似乎很痛苦並且效率很低,因為我將有效地為每個值編寫一個單獨的查詢。

我也可以在加載后的.cs頁面中執行此操作,並以編程方式逐行填充網格視圖。

該GridView僅顯示用戶特定組織的信息,因此它也必須基於該信息進行過濾。

我對如何執行此操作而不編寫大量查詢並在每次查看頁面時不斷訪問該查詢和數據庫感到困惑。

有任何想法嗎?

我更喜歡使用LINQ來處理數據和/或GridView(訪問行等)。 看一下我在GitHub上的一個項目,它確實像我在這里提到的那樣作為示例。 請注意,這只是我之前用於說明目的的沙箱。

GitHub回購

https://github.com/pauloosthuysen/int

其他有用的信息:

http://www.codeproject.com/Articles/33685/Simple-GridView-Binding-using-LINQ-to-SQL

LastWeek和LastMonth的Sales等不會經常更改。 您可以將其存儲在按組織索引的靜態詞典中,也可以將其匯總在單獨的表中以加快訪問速度。 這樣,您將不需要選擇大量的行來一次又一次地獲得相同的數字。 除非有特殊要求,否則我會堅持使用字典解決方案,因為它很簡單,但結合使用也可能是一個很好的解決方案

沒有直接的方法可以做到這一點。 但是,您可以使用數據表(用於綁定到網格)來執行填充操作,而不是將DB累加到每一列的總和。

您需要做的就是使用

Dim iSumSal As Integer

iSumSal = StudentTable.Compute(“ SUM(sal)”,“”)

同樣,您可以為其他列執行。

一旦完成。 然后只需在數據表中添加一個包含所有求和值的新行即可。

然后可以將其綁定到網格。

可選-您可以在新行的第一列中輸入一些文本值作為“總計:”

謝謝

拉胡爾

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM