ASP.NET實(shí)現(xiàn)用圖片進(jìn)度條顯示投票結(jié)果
更新時(shí)間:2007年06月28日 00:00:00 作者:
一個(gè)投票功能模塊少不了查看投票結(jié)果,用進(jìn)度條顯示各個(gè)投票結(jié)果可以起到一目了然的效果。以下是我的方法,請(qǐng)大家不吝賜教:
1:做一張圖片用于做進(jìn)度條,只需要很小的一個(gè)圖片就可以了,如高20px,寬1px。
2:在要顯示進(jìn)度條的單元格中插入image控件,其imageUrl設(shè)置為已做好的圖片的位置。
3:用一個(gè)dataReader對(duì)象dr保存取出的各項(xiàng)票數(shù),用一個(gè)int 型變量sum保存取出的總票數(shù),各項(xiàng)分別再定義一個(gè)double型變量用來保存單項(xiàng)票數(shù)除以(/)總票數(shù)的結(jié)果(小數(shù)),再定義一個(gè)int型的變量來保存最終要顯示的進(jìn)度條的長(zhǎng)度(用前面那個(gè)double型變量*用來顯示進(jìn)度條的單元格的長(zhǎng)度,然后強(qiáng)制轉(zhuǎn)換為int型),將長(zhǎng)度賦值給圖片的width 屬性即可,以下為我的代碼片段,顯示四個(gè)進(jìn)度條:
SqlCommand cmd=new SqlCommand("select * from TvoteNum order by Vid",con);//查出各項(xiàng)的投票結(jié)果的sql語(yǔ)句
SqlDataReader dr=cmd.ExecuteReader();
......
SqlCommand cmd1=new SqlCommand("select sum(Vnum) from TvoteNum",con1);//查出總票數(shù)的sql語(yǔ)句
int sum=Convert.ToInt32(cmd1.ExecuteScalar());
......
dr.Read();//讀datareader對(duì)象的第一條記錄
this.Label1.Text=dr.GetInt32(1).ToString();//第一項(xiàng)的票數(shù)
double w1=(Convert.ToDouble(this.Label1.Text)/sum);//此項(xiàng)票數(shù)占總票數(shù)的百分比
int wid1=(int)(w1*310);//轉(zhuǎn)化為具體象素,310為要用來顯示進(jìn)度條的單元格長(zhǎng)度
this.Image1.Width=wid1;//賦值給圖片的寬度
dr.Read();//讀第二條記錄
this.Label2.Text=dr.GetInt32(1).ToString();
double w2=(Convert.ToDouble(this.Label2.Text)/sum);
int wid2=(int)(w2*310);
this.Image2.Width=wid2;
dr.Read();//讀第三條記錄
this.Label3.Text=dr.GetInt32(1).ToString();
double w3=(Convert.ToDouble(this.Label3.Text)/sum);
int wid3=(int)(w3*310);
this.Image3.Width=wid3;
dr.Read();//讀第四條記錄
this.Label4.Text=dr.GetInt32(1).ToString();
double w4=(Convert.ToDouble(this.Label4.Text)/sum);
int wid4=(int)(w4*310);
this.Image4.Width=wid4;
1:做一張圖片用于做進(jìn)度條,只需要很小的一個(gè)圖片就可以了,如高20px,寬1px。
2:在要顯示進(jìn)度條的單元格中插入image控件,其imageUrl設(shè)置為已做好的圖片的位置。
3:用一個(gè)dataReader對(duì)象dr保存取出的各項(xiàng)票數(shù),用一個(gè)int 型變量sum保存取出的總票數(shù),各項(xiàng)分別再定義一個(gè)double型變量用來保存單項(xiàng)票數(shù)除以(/)總票數(shù)的結(jié)果(小數(shù)),再定義一個(gè)int型的變量來保存最終要顯示的進(jìn)度條的長(zhǎng)度(用前面那個(gè)double型變量*用來顯示進(jìn)度條的單元格的長(zhǎng)度,然后強(qiáng)制轉(zhuǎn)換為int型),將長(zhǎng)度賦值給圖片的width 屬性即可,以下為我的代碼片段,顯示四個(gè)進(jìn)度條:
SqlCommand cmd=new SqlCommand("select * from TvoteNum order by Vid",con);//查出各項(xiàng)的投票結(jié)果的sql語(yǔ)句
SqlDataReader dr=cmd.ExecuteReader();
......
SqlCommand cmd1=new SqlCommand("select sum(Vnum) from TvoteNum",con1);//查出總票數(shù)的sql語(yǔ)句
int sum=Convert.ToInt32(cmd1.ExecuteScalar());
......
dr.Read();//讀datareader對(duì)象的第一條記錄
this.Label1.Text=dr.GetInt32(1).ToString();//第一項(xiàng)的票數(shù)
double w1=(Convert.ToDouble(this.Label1.Text)/sum);//此項(xiàng)票數(shù)占總票數(shù)的百分比
int wid1=(int)(w1*310);//轉(zhuǎn)化為具體象素,310為要用來顯示進(jìn)度條的單元格長(zhǎng)度
this.Image1.Width=wid1;//賦值給圖片的寬度
dr.Read();//讀第二條記錄
this.Label2.Text=dr.GetInt32(1).ToString();
double w2=(Convert.ToDouble(this.Label2.Text)/sum);
int wid2=(int)(w2*310);
this.Image2.Width=wid2;
dr.Read();//讀第三條記錄
this.Label3.Text=dr.GetInt32(1).ToString();
double w3=(Convert.ToDouble(this.Label3.Text)/sum);
int wid3=(int)(w3*310);
this.Image3.Width=wid3;
dr.Read();//讀第四條記錄
this.Label4.Text=dr.GetInt32(1).ToString();
double w4=(Convert.ToDouble(this.Label4.Text)/sum);
int wid4=(int)(w4*310);
this.Image4.Width=wid4;
您可能感興趣的文章:
- asp.net mvc 實(shí)現(xiàn)文件上傳帶進(jìn)度條的思路與方法
- asp.net文件上傳帶進(jìn)度條實(shí)現(xiàn)案例(多種風(fēng)格)
- asp.net單文件帶進(jìn)度條上傳的解決方案
- Asp.Net 無(wú)刷新文件上傳并顯示進(jìn)度條的實(shí)現(xiàn)方法及思路
- asp.net(c#)開發(fā)中的文件上傳組件uploadify的使用方法(帶進(jìn)度條)
- asp.net 在客戶端顯示服務(wù)器端任務(wù)處理進(jìn)度條的探討
- asp.net 生成靜態(tài)頁(yè)時(shí)的進(jìn)度條顯示
- 利用Asp.Net回調(diào)機(jī)制實(shí)現(xiàn)進(jìn)度條
- asp.net web大文件上傳帶進(jìn)度條實(shí)例代碼
- ASP.NET實(shí)現(xiàn)進(jìn)度條效果
相關(guān)文章
asp.net DbProviderFactory的使用-示例
NET 2.0有一個(gè)抽象工廠模式的典型應(yīng)用:通過DBProviderFactory 可以對(duì)不同數(shù)據(jù)庫(kù)進(jìn)行操作。2009-11-11
asp.net不用設(shè)置iis實(shí)現(xiàn)url重寫 類似偽靜態(tài)路由
說到不用設(shè)置iis,主要是為了實(shí)現(xiàn)在虛擬主機(jī)或是拿不到iis操作限的時(shí)候,不能添加isap又想實(shí)現(xiàn)類似于靜態(tài)化的程序?qū)崿F(xiàn)方式,先聲明,這里最終要實(shí)現(xiàn)的效果是,最終可以用12345.html替換show.aspx?id=12345這樣的地址訪問功能,支持任意擴(kuò)展名及無(wú)擴(kuò)展2014-01-01
.Net Core中使用ExceptionFilter過濾器的方法
這篇文章主要介紹了.Net Core中使用ExceptionFilter過濾器的方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-03-03
.NET更新Xml中CDATA內(nèi)容的方法實(shí)例
這篇文章介紹了.NET更新Xml中CDATA內(nèi)容的方法實(shí)例,有需要的朋友可以參考一下2013-07-07
ASP.NET AJAX 1.0 RC開發(fā)10分鐘圖解
12月15日,ASP.NET AJAX 1.0 RC版發(fā)布,我下載安裝試用了一下,沒有寫一行代碼,實(shí)現(xiàn)了一個(gè)簡(jiǎn)單的AJAX應(yīng)用,以下為截圖說明。2008-03-03

