台灣最大程式設計社群網站
線上人數
538
 
會員總數:245782
討論主題:189419
歡迎您免費加入會員
討論區列表 >> AJAX / JSON / jQuery >> 統計報表並利用GRIDVIEW展示結果,該如何顯示統計進度
[]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
統計報表並利用GRIDVIEW展示結果,該如何顯示統計進度
價值 : 500 QP  點閱數:3681 回應數:13
樓主

無名
初學者
287 15
2394 223
發送站內信

捐贈 VP 給 無名
各位前輩好,小弟有個統計報表製作進度顯示問題想請教。
目前完成的部分為:A網頁統計按鈕--->B網頁(同時開始計算某群組人員,完成報告的數量及百分比)。
由於計算報表需要15秒左右,希望能有動畫及報表完成進度提供使用者報表製作進度。

小弟之前做過的相關需求,只是按鈕和報表是在同一頁,且資料較簡單,不用自行計算資料後,組成datatable再塞給GRIDVIEW。
而且只是顯示文字訊息和動態圖案並未顯示進度。

還請各位高手指點一下,謝謝。


目前使用
.net framework版本:3.5
撰寫程式工具:VS 2008
作業系統:XP
使用者IE版本 7.0和8.0



搜尋相關Tags的文章: [ updateprogress ] ,
本篇文章發表於2010-04-15 15:51
== 簽名檔 ==
努力中請指教...
1樓
回應

天叢雲
捐贈 VP 給 天叢雲 檢舉此回應
參考:
http://msdn.microsoft.com/zh-tw/library/bb386421.aspx
本篇文章回覆於2010-04-15 17:07
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
作者回應

無名
捐贈 VP 給 無名 檢舉此回應
天叢雲大大您好,想請問一下。
我依照您給的網址有試作出來可以顯示文字訊息及動畫。
但若是我從本頁按鈕換到下一頁時,該如何在下一頁顯示報表的統計進度(比如說百分比)或是用顏色顯示完成進度。
還請大大指點方向,謝謝。
本篇文章回覆於2010-04-15 17:42
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
3樓
回應

天叢雲
捐贈 VP 給 天叢雲 檢舉此回應
那先做一頁LoadWait.aspx,

參考如下:
http://hi.baidu.com/lostparadise/blog/item/c71616ce3df5923eb700c84d.html
本篇文章回覆於2010-04-15 23:24
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
4樓
作者回應

無名
捐贈 VP 給 無名 檢舉此回應
天叢雲大大您好,感謝您的幫忙。
關於範例中有提到這句[LoadWait.aspx?XXX.aspx],但出現了QueryString["url"]。
於是我是改寫成
Response.Redirect("DoctLoadWait.aspx?url=EMRdoctLIST.aspx");
但是造成的效果是,連結到進度等待畫面後,會顯示動畫,過了大約15秒後。動畫不再有動態效果且動態圖案下方顯示-----> | | 兩條直線
且未轉到報表統計頁面,然後又在進度等待畫面停留了大約20秒鐘才轉到最終統計完成畫面。感覺似乎是報表統計了兩次。
不知是我哪部分寫錯而造成的。還請大大指教,謝謝。

本篇文章回覆於2010-04-16 10:47
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
5樓
回應

天叢雲
捐贈 VP 給 天叢雲 檢舉此回應
你現在是這樣嗎:
A網頁統計按鈕-->LoadWait.aspx?XXX.aspx--->B網頁

這時應該要去trace看程式怎麼跑了,我測試結果是正常的,

不會有| | 兩條直線,這是你的程式response.write出來的嗎?
本篇文章回覆於2010-04-17 16:46
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
6樓
作者回應

無名
捐贈 VP 給 無名 檢舉此回應
請教一下天叢雲大大,
1.關於JAVASCRIPT 我該如何用VS2008做TRACE,還請指導一下。另外關於兩條直線 我也不了解從哪裡造成的,本身並無做response.write的部份。
2.我現在的網頁流程確實如天叢雲大大所說,A--->LOADING頁面--->B。可是我不了解示範頁面所提到的[[LoadWait.aspx?XXX.aspx]寫法。
所以目前寫法改成[LoadWait.aspx?url=XXX.aspx]
若依照他的寫法會造成QueryString["url"]為NULL有錯誤,這部份會不會是造成錯誤的關鍵。還請天叢雲大大幫忙,真心感謝。

小弟也繼續嘗試看看是否我誤會示範頁面的意思了。
本篇文章回覆於2010-04-18 01:43
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
7樓
最有價值解答

天叢雲
捐贈 VP 給 天叢雲 檢舉此回應
抱歉,我之前提的方式還是會無法達成你的需要,
下面是我參考改出來的:http://www.codeproject.com/KB/webforms/NicsBar.aspx
code:
.cs


aspx:

再試試看吧。
另外第一個問題,在VS2008的工具下,在javascript去設定中斷點,就可以trace了。
本篇文章回覆於2010-04-18 17:17
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
8樓
回應

天叢雲
捐贈 VP 給 天叢雲 檢舉此回應
補充一下:
System.Threading.Thread.Sleep(1000);
可以視需求拿掉。

Page_Init==>可以自己加上處理GRIDVIEW的code.
本篇文章回覆於2010-04-18 17:19
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
9樓
作者回應

無名
捐贈 VP 給 無名 檢舉此回應
天叢雲大大您好,感謝您的大力幫忙^^
1.很感謝您所提示的程式段落,經過修飾之後。可在報表統計時,正確顯示出等待的動畫。且不會有之前感覺做兩次統計的情形發生。
2.目前小弟再想辦法看是否能進一步得知GRIDVIEW資料計算的進度,並顯示出來,不知大大是否有思考方向可提供,萬分感謝。
本篇文章回覆於2010-04-19 12:11
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
10樓
回應

天叢雲
捐贈 VP 給 天叢雲 檢舉此回應
如果您直接用sqlDataSource元件,以我目前的了解GRIDVIEW無法取得它進度,

或許可用迴圈的方式抓出資料到dataset,最後再做GRIDVIEW.DataSource=ds;

這樣可以看迴圈中去知道進度.
本篇文章回覆於2010-04-19 15:44
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
11樓
作者回應

無名
捐贈 VP 給 無名 檢舉此回應
感謝天叢雲大大的幫忙,
1.小弟目前有找到一個範例可跑出大約的百分比。
網頁下載進度計算
可是他的設定是在ASPX頁面某些段落設定幾個點去執行計算進度的程式(並非完全精準,目前正在試作中)。
2.關於gridview資料的部份,由於資料須另外計算。所以小弟自行計算完資料後,再一列一列組成TABLE,才當作gridview的datasource。

這邊想請教天叢雲大大,若以迴圈(datareader.read())在每一列資料中,來計算較精確的資料處理時間。
是否應完整跑完一次,紀錄總資料筆數(每列計算資料量不一定相同)。再從第二次資料統計中,計算完成每筆資料的完成百分比。
還是有其他較方便的function可直接使用,還請天叢雲大大指教。感謝。
本篇文章回覆於2010-04-19 16:37
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
12樓
回應

天叢雲
捐贈 VP 給 天叢雲 檢舉此回應
第1點也是個方法,要配合你程式的寫法。
第2點您講的是對的。

總列數要看你的SQL語法可否先count筆數(如:select count(*) from ...用比較快的語法,不用join太多table),先快速的抓出來,
不用整個跑一次吧!跑一次不是15秒?這樣performance不好,抓到後就用總列數去當分母,就可知道進度了。
本篇文章回覆於2010-04-19 18:18
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
13樓
作者回應

無名
捐贈 VP 給 無名 檢舉此回應
進度報告:
天叢雲大大您好,目前程式可使用大大所提供的範例單獨顯示動態圖案或是直接使用小弟找到的範例來跑動百分比數字(非完全精確)。
但目前無法整合在一起。只能在您提供的作法(頁面下載完成後隱藏等待動畫)結束後,才開始跑百分比數字。而且瞬間從1跑到100,就使用者看起來應會覺得很奇怪。目前還在持續試作中,天叢雲大大若有其他想法還請不吝指導,感謝。
本篇文章回覆於2010-04-21 09:06
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
   
1

回覆
如要回應,請先登入.