當前位置:學問君>人在職場>電腦培訓>

ASP.NET新型的投票結果顯示方法

學問君 人氣:9.34K

一個投票功能模組少不了檢視投票結果,用進度條顯示各個投票結果可以起到一目瞭然的效果。以下是我的方法,請大家不吝賜教:

ASP.NET新型的投票結果顯示方法

1:做一張圖片用於做進度條,只需要很小的一個圖片就可以了,如高20px,寬1px。

2:在要顯示進度條的單元格中插入image控件,其imageUrl設定爲已做好的圖片的位置。

3:用一個dataReader對象dr儲存取出的各項票數,用一個int型變量sum儲存取出的總票數,各項分別再定義一個double型變量用來儲存單項票數除以(/)總票數的結果(小數),再定義一個int型的變量來儲存最終要顯示的進度條的長度(用前面那個double型變量*用來顯示進度條的單元格的長度,然後強制轉換爲int型),將長度賦值給圖片的width屬性即可,以下爲我的代碼片段,顯示四個進度條:

SqlCommandcmd=newSqlCommand("select*fromTvoteNumorderbyVid",con);//查出各項的'投票結果的sql語句

SqlDataReaderdr=uteReader();

......

SqlCommandcmd1=newSqlCommand("selectsum(Vnum)fromTvoteNum",con1);//查出總票數的sql語句

intsum=t32(uteScalar());

......

();//讀datareader對象的第一條記錄

=nt32(1)ring();//第一項的票數

doublew1=(uble()/sum);//此項票數佔總票數的百分比

intwid1=(int)(w1*310);//轉化爲具體象素,310爲要用來顯示進度條的單元格長度

h=wid1;//賦值給圖片的寬度

();//讀第二條記錄

=nt32(1)ring();

doublew2=(uble()/sum);

intwid2=(int)(w2*310);

h=wid2;

();//讀第三條記錄

=nt32(1)ring();

doublew3=(uble()/sum);

intwid3=(int)(w3*310);

h=wid3;

();//讀第四條記錄

=nt32(1)ring();

doublew4=(uble()/sum);

intwid4=(int)(w4*310);

h=wid4;