asp.net使用for循環(huán)實(shí)現(xiàn)Datalist的分列顯示功能
更新時(shí)間:2009年12月03日 20:44:07 作者:
工程業(yè)績(jī)--用for循環(huán)代替了DataList多列顯示,得到2行四列的表格,需要內(nèi)存表的8行數(shù)據(jù)
服務(wù)器控件雖然用起來(lái)方便,但是也犧牲了性能,有些時(shí)候用起來(lái)顯得大而無(wú)當(dāng)。希望先進(jìn)朋友多多指教。
/// <summary>
/// 工程業(yè)績(jī)--用for循環(huán)代替了DataList多列顯示,得到2行四列的表格,需要內(nèi)存表的8行數(shù)據(jù)
/// </summary>
private void GcyjShow()
{
StringBuilder sb = new StringBuilder();
ProductBLL pb = new ProductBLL();
DataTable dt = pb.GetProductByMoreConditions("工程業(yè)績(jī)", "工程業(yè)績(jī)", "啟用");
int count = dt.Rows.Count;//行數(shù)
sb.Append("<table style='display: inline; vertical-align: middle;' cellpadding='5' align='center'>");//倆行四列的表格
sb.Append("<tr>");
for (int i = 0; i < count; i++)
{
DataRow dr = dt.Rows[i];
string strId = dr["ProdId"].ToString();
string strUrl = dr["Picture"].ToString();
string strName = dr["ProdName"].ToString();
if (dr != null)
{
sb.Append("<td>");
sb.Append("<table border='0' cellspacing='0' cellpadding='0' width='100%'>");
sb.Append("<tr>");
sb.Append("<td bgcolor='#ffffff'>");
if (!string.IsNullOrEmpty(strId) && !string.IsNullOrEmpty(strName) && !string.IsNullOrEmpty(strUrl))
{
sb.Append("<a title='/" + strName + "'");
sb.Append(" href='GcyjShow.aspx?strId=" + strId + "'>");
sb.Append("<img border='0' width='120' height='98' alt='");
sb.Append(strName + "'");
sb.Append(" src='/Photo/");
sb.Append(strUrl + "'>");
sb.Append("</a>");
}
sb.Append("</td>");
sb.Append("</tr>");
sb.Append("<tr>");
sb.Append("<td>");
sb.Append("<div style='padding-left: 15px; background: url(Images/index_r1_c9.jpg) no-repeat'>");
if (!string.IsNullOrEmpty(strName))
{
if (strName.Length > 7)
sb.Append(strName.Substring(0, 7) + "...");
else
sb.Append(strName);
}
sb.Append("</div>");
sb.Append("</td>");
sb.Append("</tr>");
sb.Append("</table>");
sb.Append("</td>");
}
//我們把內(nèi)存表的4行數(shù)據(jù),當(dāng)做4列一行來(lái)輸出
//如果內(nèi)存表行數(shù)count<=4,即小于我們要顯示的一行一列,會(huì)自動(dòng)終止循環(huán),不需要對(duì)tr進(jìn)行處理
//在等數(shù)據(jù)等于四列(即一行),且大于一行時(shí) --才進(jìn)行換行
if (i == 3 && count > 4)
{
sb.Append("</tr><tr>");
}
if (i == 7)//當(dāng)循環(huán)達(dá)到8次時(shí),一個(gè)倆行四列的表格已經(jīng)完成,此時(shí)終止循環(huán)
{
break;
}
}
sb.Append("</tr>");
sb.Append("</table>");
lblGcyj.Text = sb.ToString();//用Label標(biāo)簽來(lái)輸出
}
復(fù)制代碼 代碼如下:
/// <summary>
/// 工程業(yè)績(jī)--用for循環(huán)代替了DataList多列顯示,得到2行四列的表格,需要內(nèi)存表的8行數(shù)據(jù)
/// </summary>
private void GcyjShow()
{
StringBuilder sb = new StringBuilder();
ProductBLL pb = new ProductBLL();
DataTable dt = pb.GetProductByMoreConditions("工程業(yè)績(jī)", "工程業(yè)績(jī)", "啟用");
int count = dt.Rows.Count;//行數(shù)
sb.Append("<table style='display: inline; vertical-align: middle;' cellpadding='5' align='center'>");//倆行四列的表格
sb.Append("<tr>");
for (int i = 0; i < count; i++)
{
DataRow dr = dt.Rows[i];
string strId = dr["ProdId"].ToString();
string strUrl = dr["Picture"].ToString();
string strName = dr["ProdName"].ToString();
if (dr != null)
{
sb.Append("<td>");
sb.Append("<table border='0' cellspacing='0' cellpadding='0' width='100%'>");
sb.Append("<tr>");
sb.Append("<td bgcolor='#ffffff'>");
if (!string.IsNullOrEmpty(strId) && !string.IsNullOrEmpty(strName) && !string.IsNullOrEmpty(strUrl))
{
sb.Append("<a title='/" + strName + "'");
sb.Append(" href='GcyjShow.aspx?strId=" + strId + "'>");
sb.Append("<img border='0' width='120' height='98' alt='");
sb.Append(strName + "'");
sb.Append(" src='/Photo/");
sb.Append(strUrl + "'>");
sb.Append("</a>");
}
sb.Append("</td>");
sb.Append("</tr>");
sb.Append("<tr>");
sb.Append("<td>");
sb.Append("<div style='padding-left: 15px; background: url(Images/index_r1_c9.jpg) no-repeat'>");
if (!string.IsNullOrEmpty(strName))
{
if (strName.Length > 7)
sb.Append(strName.Substring(0, 7) + "...");
else
sb.Append(strName);
}
sb.Append("</div>");
sb.Append("</td>");
sb.Append("</tr>");
sb.Append("</table>");
sb.Append("</td>");
}
//我們把內(nèi)存表的4行數(shù)據(jù),當(dāng)做4列一行來(lái)輸出
//如果內(nèi)存表行數(shù)count<=4,即小于我們要顯示的一行一列,會(huì)自動(dòng)終止循環(huán),不需要對(duì)tr進(jìn)行處理
//在等數(shù)據(jù)等于四列(即一行),且大于一行時(shí) --才進(jìn)行換行
if (i == 3 && count > 4)
{
sb.Append("</tr><tr>");
}
if (i == 7)//當(dāng)循環(huán)達(dá)到8次時(shí),一個(gè)倆行四列的表格已經(jīng)完成,此時(shí)終止循環(huán)
{
break;
}
}
sb.Append("</tr>");
sb.Append("</table>");
lblGcyj.Text = sb.ToString();//用Label標(biāo)簽來(lái)輸出
}
您可能感興趣的文章:
- .NET中RDLC循環(huán)處理數(shù)據(jù)的應(yīng)用分析
- asp.net中for和do循環(huán)語(yǔ)句用法分享
- asp.net for循環(huán)語(yǔ)句
- ASP.NET?MVC5網(wǎng)站開(kāi)發(fā)之業(yè)務(wù)邏輯層的架構(gòu)和基本功能(四)
- ASP.NET?MVC5?網(wǎng)站開(kāi)發(fā)框架模型、數(shù)據(jù)存儲(chǔ)、業(yè)務(wù)邏輯(三)
- asp.net運(yùn)算符之邏輯運(yùn)算符以及其他運(yùn)算符介紹與實(shí)例
- 詳解.net循環(huán)、邏輯語(yǔ)句塊(基礎(chǔ)知識(shí))
相關(guān)文章
Asp.net 彈出對(duì)話框基類(lèi)(輸出alet警告框)
asp.net輸出alert警告框2008-11-11
ASP.NET MVC5網(wǎng)站開(kāi)發(fā)用戶修改資料和密碼(六)
這篇文章主要介紹了ASP.NET MVC5網(wǎng)站開(kāi)發(fā)用戶修改資料和密碼,本文即將結(jié)束member區(qū)域的用戶部分,感興趣的小伙伴們可以參考一下2015-09-09
如何在ASP.NET Core應(yīng)用程序運(yùn)行Vue并且部署在IIS上詳解
這篇文章主要給大家介紹了關(guān)于如何運(yùn)行Vue在ASP.NET Core應(yīng)用程序并且部署在IIS上的相關(guān)資料,文中通過(guò)圖文介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。2017-10-10
Microsoft Visual Studio 2010下如何添加命令提示行
這篇文章主要介紹了Microsoft Visual Studio 2010下如何添加命令提示行的相關(guān)資料,需要的朋友可以參考下2015-11-11
ASP.NET中利用WebClient上傳圖片到遠(yuǎn)程服務(wù)的方法
這篇文章主要介紹了ASP.NET中利用WebClient上傳圖片到遠(yuǎn)程服務(wù)的方法,包括客戶端和服務(wù)端,代碼附有注釋?zhuān)枰牡呐笥褏⒖枷掳?/div> 2017-01-01
在ASP.NET Core5.0中訪問(wèn)HttpContext的方法步驟
這篇文章主要介紹了在ASP.NET Core5.0中訪問(wèn)HttpContext的方法步驟,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-11-11最新評(píng)論

