亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Repeater控件動(dòng)態(tài)變更列(Header,Item和Foot)信息實(shí)現(xiàn)思路

 更新時(shí)間:2013年03月22日 14:19:18   作者:  
需求開發(fā)一個(gè)小報(bào)表,顯示最近五個(gè)月的summary的數(shù)量統(tǒng)計(jì),報(bào)表會(huì)隨月份的變化而變化,接下來為大家詳細(xì)介紹下實(shí)現(xiàn)方法,感興趣的各位不要錯(cuò)過了哈

需求開發(fā)一個(gè)小報(bào)表,顯示最近五個(gè)月的summary的數(shù)量統(tǒng)計(jì),報(bào)表會(huì)隨月份的變化而變化,如下圖。第一列[Department]固定,第二至第六列,也就是說Nov 2012 這列會(huì)在下月的時(shí)候消失,其后的列會(huì)向前移,最后一列Mar 2013 會(huì)變?yōu)锳pr 2013。

下圖中,最底一行是顯示每一列的總數(shù)(除第一列外)。


為了這個(gè)報(bào)表,Insus.NET決定使用Repeater控件來實(shí)現(xiàn)。難度在于動(dòng)態(tài)顯法第二列至第六列的列名,以及綁定數(shù)據(jù)。最后一行計(jì)算總計(jì)的,只要完成上面的動(dòng)態(tài)綁定之后,也算不上問題,Repeater的FooterTemplate顯示某列總計(jì)方法,可以參考這篇:http://chabaoo.cn/article/34972.htm由于整個(gè)報(bào)表,列數(shù)一定,共六列,因此我們可以把這個(gè)寫死。

首先是HeaderTemplate,內(nèi)嵌一個(gè)table,設(shè)計(jì)好六列,每列拉一個(gè)Label,并分別設(shè)置好Label的ID,最好讓它們似帶有索引的序數(shù):

接下來是ItemTemplate設(shè)計(jì),可以參考HeaderTemplate的設(shè)計(jì)方式:

最后是FooterTemplate的設(shè)計(jì),設(shè)計(jì)好Label的ID,td文本對(duì)齊以及背景顏色:


三個(gè)Template的Label的ID都不一樣,但有一些規(guī)律,這樣方便在后臺(tái)好 FindControl以及將來重構(gòu)好控制。

上面全是html的設(shè)計(jì),下面將是程序開發(fā)。

復(fù)制代碼 代碼如下:

//實(shí)例化對(duì)象,以及宣告一個(gè)DataTable對(duì)象objDt。
PrintLog objPrintLog = new PrintLog();
DataTable objDt;

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

把從數(shù)據(jù)庫獲取的數(shù)據(jù)綁定至Repeater控件: 
復(fù)制代碼 代碼如下:

protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
Data_Binding();
}
}

private void Data_Binding()
{
((IUserControlContainer)this.Master).ShowControl = true;

CultureInfo oCultureInfo = new CultureInfo("en"); //設(shè)置好區(qū)域文化
DateTime currentDateTime = DateTime.Now; //獲取當(dāng)前日期時(shí)間
objPrintLog.Year = currentDateTime.Year; //獲取年份賦值
objPrintLog.Month = currentDateTime.Month;//獲取月份賦值
objPrintLog.Months = 5; //最近連續(xù)5個(gè)月份

objDt = objPrintLog.GetSummaryReportByYearMonth();
this.RepeaterLFMS.DataSource = objDt;
this.RepeaterLFMS.DataBind();
}

電話響了,需要先接電話...  大約一分三十六秒完畢,順便去沖杯Coffee.

下面將是Repeater控件的OnItemDataBound事件,Insus.NET也分別對(duì)header,Item以及Foot進(jìn)行圖列說明代碼:


Item 綁定:

 最后是Foot的代碼:


呵呵,完成了。相信它在運(yùn)行時(shí),會(huì)隨著時(shí)間的前進(jìn)(月份的變化),它對(duì)應(yīng)的列名,數(shù)據(jù)也會(huì)隨之變化。

相關(guān)文章

最新評(píng)論