当前位置:  开发笔记 > 后端 > 正文

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

服务器控件虽然用起来方便,但是也牺牲了性能,有些时候用起来显得大而无当。希望先进朋友多多指教。复制代码代码如下:///<summary>///工程业绩--用for循环代替了DataList多列显示,得到2行四列的表格,需要内存表的8行数据///</summary>privat
服务器控件虽然用起来方便,但是也牺牲了性能,有些时候用起来显得大而无当。希望先进朋友多多指教。
复制代码 代码如下:

///
/// 工程业绩--用for循环代替了DataList多列显示,得到2行四列的表格,需要内存表的8行数据
///

private void GcyjShow()
{
StringBuilder sb = new StringBuilder();
ProductBLL pb = new ProductBLL();
DataTable dt = pb.GetProductByMoreConditions("工程业绩", "工程业绩", "启用");
int count = dt.Rows.Count;//行数

sb.Append("");//俩行四列的表格
sb.Append("");
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("");
}
//我们把内存表的4行数据,当做4列一行来输出
//如果内存表行数count<=4,即小于我们要显示的一行一列,会自动终止循环,不需要对tr进行处理
//在等数据等于四列(即一行),且大于一行时 --才进行换行
if (i == 3 && count > 4)
{
sb.Append("");
}
if (i == 7)//当循环达到8次时,一个俩行四列的表格已经完成,此时终止循环
{
break;
}
}

sb.Append("");
sb.Append("
");
sb.Append("");
sb.Append("");
sb.Append("");
sb.Append("");
sb.Append("");
sb.Append("");
sb.Append("");
sb.Append("
");


if (!string.IsNullOrEmpty(strId) && !string.IsNullOrEmpty(strName) && !string.IsNullOrEmpty(strUrl))
{
sb.Append("sb.Append(" href='GcyjShow.aspx?strId=" + strId + "'>");
sb.Append(""); <BR>sb.Append(strName + "sb.Append(" src='/Photo/");
sb.Append(strUrl + "'>");
sb.Append("
");
}
sb.Append("
");
sb.Append("
");
if (!string.IsNullOrEmpty(strName))
{
if (strName.Length > 7)
sb.Append(strName.Substring(0, 7) + "...");
else
sb.Append(strName);
}
sb.Append("
");
sb.Append("
");
sb.Append("
");
lblGcyj.Text = sb.ToString();//用Label标签来输出
}
推荐阅读
罗文彬2502852027
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有