欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

Repeater控件動態(tài)變更列的示例分析-創(chuàng)新互聯(lián)

這篇文章將為大家詳細講解有關(guān)Repeater控件動態(tài)變更列的示例分析,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

成都創(chuàng)新互聯(lián)公司專注于新田企業(yè)網(wǎng)站建設,成都響應式網(wǎng)站建設,商城網(wǎng)站定制開發(fā)。新田網(wǎng)站建設公司,為新田等地區(qū)提供建站服務。全流程按需網(wǎng)站制作,專業(yè)設計,全程項目跟蹤,成都創(chuàng)新互聯(lián)公司專業(yè)和態(tài)度為您提供的服務


重構(gòu)開始:
首先把這五個變量刪除,因為在重構(gòu)過程中,已經(jīng)不需要這五個變量了。


復制代碼 代碼如下:


//宣告5個變量,將用來存儲那5個月份每個部分的數(shù)量
decimal c1, c2, c3, c4, c5;



接下來需要改動的是宣告一個常量,很多地方使用到它:


復制代碼 代碼如下:


const int dynamicColumns = 5;



把程序中的下面這句


復制代碼 代碼如下:


objPrintLog.Months = 5; //最近連續(xù)5個月份



改為:


復制代碼 代碼如下:


objPrintLog.Months = dynamicColumns;



也就是說,使用常量的變量去替代舊代碼的"5"。

接下來,我們重構(gòu)Repwater控件的Header的代碼,為了好對比,Insus.NET把上一篇對應的圖片引用在這里:
Repeater控件動態(tài)變更列的示例分析

 Repeater控件動態(tài)變更列的示例分析

重構(gòu)如下:


復制代碼 代碼如下:


protected void RepeaterLFMS_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
if (e.Item.ItemType == ListItemType.Header)
{
if (e.Item.FindControl("LabelH0") != null
&& e.Item.FindControl("LabelH1") != null
&& e.Item.FindControl("LabelH2") != null
&& e.Item.FindControl("LabelH3") != null
&& e.Item.FindControl("LabelH4") != null
&& e.Item.FindControl("LabelH5") != null)
{
for (int i = 0; i <= dynamicColumns; i++)
{
Label lh = (Label)e.Item.FindControl("LabelH" + i.ToString());
lh.Text = objDt.Columns[i].ColumnName;
}
}
}



只要一對比,就可以明了看到變代碼中的代碼。下面是Repwater控件Item 部分:
Repeater控件動態(tài)變更列的示例分析

舊代碼重構(gòu)之后的代碼,第16行代碼,是判斷第一列,因為它是字符串,因此單獨排除。第23行,使用ViewState來替代舊程序的5個變量。


復制代碼 代碼如下:


if (e.Item.ItemType == ListItemType.AlternatingItem || e.Item.ItemType == ListItemType.Item)
{
DataRowView drv = (DataRowView)e.Item.DataItem;
if (e.Item.FindControl("LabelI0") != null
&& e.Item.FindControl("LabelI1") != null
&& e.Item.FindControl("LabelI2") != null
&& e.Item.FindControl("LabelI3") != null
&& e.Item.FindControl("LabelI4") != null
&& e.Item.FindControl("LabelI5") != null)
{

for (int j = 0; j <= dynamicColumns; j++)
{
Label li = (Label)e.Item.FindControl("LabelI" + j.ToString());

if (j == 0)
li.Text = drv[objDt.Columns[0].ColumnName].ToString();
else
{
decimal v = string.IsNullOrEmpty(drv[objDt.Columns[j].ColumnName].ToString()) ? 0 : Convert.ToDecimal(drv[objDt.Columns[j].ColumnName].ToString());
li.Text = v.ToString();

ViewState["c" + j.ToString()] = ViewState["c" + j.ToString()] == null ? 0 : Convert.ToDecimal(ViewState["c" + j.ToString()]) + v;
}
}
}
}



最后是Foot的重構(gòu):
Repeater控件動態(tài)變更列的示例分析

Foot重構(gòu)好的代碼,第14行是判斷是否為第一列,第17行,是把ViewState的值賦給Label。


復制代碼 代碼如下:


if (e.Item.ItemType == ListItemType.Footer)
{
if (e.Item.FindControl("LabelF0") != null
&& e.Item.FindControl("LabelF1") != null
&& e.Item.FindControl("LabelF2") != null
&& e.Item.FindControl("LabelF3") != null
&& e.Item.FindControl("LabelF4") != null
&& e.Item.FindControl("LabelF5") != null)
{
for (int k = 0; k <= dynamicColumns; k++)
{
Label lf = (Label)e.Item.FindControl("LabelF" + k.ToString());

if (k == 0)
lf.Text = "Total";
else
lf.Text = ViewState["c" + k.ToString()] == null ? "0" : ViewState["c" + k.ToString()].ToString();
}
}
}
}



重構(gòu)是在程序功能要求不變的情況之下,減少冗余的代碼。

關(guān)于“Repeater控件動態(tài)變更列的示例分析”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

文章標題:Repeater控件動態(tài)變更列的示例分析-創(chuàng)新互聯(lián)
當前地址:http://aaarwkj.com/article16/jshdg.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站內(nèi)鏈、微信小程序域名注冊、網(wǎng)站排名、定制網(wǎng)站、App設計

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

商城網(wǎng)站建設
男女裸体做爰一进一出视频| 日韩一二三四区精品电影免费播放| 欧美色高清视频在线播放| 91九色蝌蚪国产欧美亚洲| 蜜臀视频网站在线观看| 涩五月婷婷开心中文字幕| 亚洲精品香蕉久久情趣| 久久九特黄的免费大片| 国产自愉自愉免费精品七| 午夜激情视频福利在线观看| 欧美日韩黄色在线观看| 国产亚洲欧美久久精品| 青草草在线观看视频| 99久久免费中文字幕| 日韩福利成人av在线| 放荡成熟人妻中文字幕| 精品少妇人妻av不卡久久| 亚洲熟妇av一区二区三区l| 三级日本一区二区三区| 日韩激情一区二区三区| 日韩人妻系列在线观看| 中文字幕二区三区人妻| 亚洲激情粉嫩中文字幕| 精品中文人妻中文字幕| 国产一区二区三区av| 国产一区二区三区不卡视频 | 国产精品区一区二区三区| 欧美日韩另类综合久久久| 深夜av一区二区三区| 中文字幕乱码亚洲中文在线| 蜜桃视频中文字幕二区三区| 欧美一区二区三区成人网| 国产高清视频在线观看流白浆| 色婷婷激情一区二区三区| 伊人久久亚洲福利精品| 亚洲欧美综合区丁香六月| 69久久精品费精品国产| 亚洲av成人精品日韩一区麻豆| 高清不卡日本一区二区三区久久| 国产经典午夜福利在线| 精品国产av色一区二区|