源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

asp.net使用for循环实现Datalist的分列显示功能

  • 时间:2021-05-23 01:36 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:asp.net使用for循环实现Datalist的分列显示功能
服务器控件虽然用起来方便,但是也牺牲了性能,有些时候用起来显得大而无当。希望先进朋友多多指教。
[u]复制代码[/u] 代码如下:
/// <summary> /// 工程业绩--用for循环代替了DataList多列显示,得到2行四列的表格,需要内存表的8行数据 /// </summary> private void GcyjShow() { StringBuilder sb = new StringBuilder(); ProductBLL pb = new ProductBLL(); DataTable dt = pb.GetProductByMoreConditions("工程业绩", "工程业绩", "启用"); int count = dt.Rows.Count;//行数 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>"); } //我们把内存表的4行数据,当做4列一行来输出 //如果内存表行数count<=4,即小于我们要显示的一行一列,会自动终止循环,不需要对tr进行处理 //在等数据等于四列(即一行),且大于一行时 --才进行换行 if (i == 3 && count > 4) { sb.Append("</tr><tr>"); } if (i == 7)//当循环达到8次时,一个俩行四列的表格已经完成,此时终止循环 { break; } } sb.Append("</tr>"); sb.Append("</table>"); lblGcyj.Text = sb.ToString();//用Label标签来输出 }
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部