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型變量用來(lái)保存單項(xiàng)票數(shù)除以(/)總票數(shù)的結(jié)果(小數(shù)),再定義一個(gè)int型的變量來(lái)保存最終要顯示的進(jìn)度條的長(zhǎng)度(用前面那個(gè)double型變量*用來(lái)顯示進(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為要用來(lái)顯示進(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型變量用來(lái)保存單項(xiàng)票數(shù)除以(/)總票數(shù)的結(jié)果(小數(shù)),再定義一個(gè)int型的變量來(lái)保存最終要顯示的進(jìn)度條的長(zhǎng)度(用前面那個(gè)double型變量*用來(lái)顯示進(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為要用來(lái)顯示進(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#)開(kāi)發(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實(shí)現(xiàn)推送文件到瀏覽器的方法
這篇文章主要介紹了ASP.NET實(shí)現(xiàn)推送文件到瀏覽器的方法,可實(shí)現(xiàn)將文件推送到瀏覽器供用戶瀏覽或下載的功能,需要的朋友可以參考下2015-06-06Community Server專題二:體系結(jié)構(gòu)
Community Server專題二:體系結(jié)構(gòu)...2007-03-03配置Spring.Net框架開(kāi)發(fā)環(huán)境
這篇文章介紹了配置Spring.Net框架開(kāi)發(fā)環(huán)境的方法,對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2022-03-03ASP.NET Core中如何利用多種方式給Action傳參
這篇文章主要給大家介紹了關(guān)于ASP.NET Core中如何利用多種方式給Action傳參的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-12-12使用最小?WEB?API?實(shí)現(xiàn)文件上傳會(huì)遇到的坑
這篇文章主要介紹分享使用最小?WEB?API?實(shí)現(xiàn)文件上傳時(shí)會(huì)遇到的坑,在使用?.NET?6?的最小?WEB?API?來(lái)實(shí)現(xiàn)相同功能時(shí),總是會(huì)意外地遇到了不少坑,下面我們就來(lái)看看這些坑都是怎么處理的吧,需要的朋友可以參考下2022-02-02asp.net core 獲取 MacAddress 地址方法示例
這篇文章主要介紹了asp.net core獲取MacAddress地址方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2019-02-02MVC4 基礎(chǔ) 枚舉生成 DropDownList 實(shí)用技巧
本篇文章小編為大家介紹,MVC4 基礎(chǔ) 枚舉生成 DropDownList 實(shí)用技巧。需要的朋友參考下2013-04-04寫一個(gè)含數(shù)字,拼音,漢字的驗(yàn)證碼生成類
本文和大家分享的是一個(gè)集成1:小寫拼音;2:大寫拼音;3:數(shù)字;4:漢字的驗(yàn)證碼生成類。本章例子也會(huì)有一個(gè)mvc使用驗(yàn)證碼校驗(yàn)的場(chǎng)景。具有一定的參考價(jià)值,下面跟著小編一起來(lái)看下吧2017-01-01