public string GenerateTable(int colCount,SqlDataReader rs,string[] fields,string startStr,string endStr)
{
int i = 0;
StringBuilder resultStr = new StringBuilder();
while (rs.Read())
{
//将索引复位
if (++i % colCount == 0)
i = 0;
//colCount余数为1说明将进行分行,接下的列将纳入新的行中
if (i == 1)
resultStr.Append("<ul>");
foreach (string field in fields)
{
//列标签开始
resultStr.Append("<li>");
//内容
resultStr.Append(startStr);
resultStr.Append(rs[field].ToString());
resultStr.Append(endStr);
//列标签结束
resultStr.Append("</li>");
}
//colCount余数为0说明行结束
if (i == 0)
resultStr.Append("</ul>");
}
//如果colCount的余数在0和colCount之间,则说明前一行的列数不够colCount,结尾尚无</ul>,故需补上
if (0 < i && i < colCount)
resultStr.Append("</ul>");
return resultStr.ToString();
}
/// <summary>
/// 用div、ul、li 生成表格
/// </summary>
/// <param name="colCount">每行的列数</param>
/// <param name="fields"></param>
/// <param name="startStr"></param>
/// <param name="endStr"></param>
/// <param name="liClass"></param>
/// <returns></returns>
public string GenerateRow(int colCount, string[] fields, string startStr, string endStr,string liClass)
{
int i = 0;
StringBuilder resultStr = new StringBuilder();
foreach (string field in fields)
{
//将索引复位
if (++i % colCount == 0)
i = 0;
//colCount余数为1说明将进行分行,接下的列将纳入新的行中
if (i == 1)
resultStr.Append("<ul>");
//列标签开始
resultStr.Append("<li" + (liClass == String.Empty || liClass == null ?String.Empty:" class=\"" + liClass + "\"") + ">");
//内容
resultStr.Append(startStr);
resultStr.Append(field);
resultStr.Append(endStr);
//列标签结束
resultStr.Append("</li>");
//colCount余数为0说明行结束
if (i == 0)
resultStr.Append("</ul>");
}
//如果colCount的余数在0和colCount之间,则说明前一行的列数不够colCount,结尾尚无</ul>,故需补上
if (0 < i && i < colCount)
resultStr.Append("</ul>");
return resultStr.ToString();
}