html.Append("<table border="1">"); int itemCount = 0; StringBuilder sbImageRow = new StringBuilder(); StringBuilder sbNameRow = new StringBuilder(); foreach (DataRow row in dt.Rows) { itemCount++; int windex = row["Image"].ToString().IndexOf("/"); sbImageRow.Append("<td><img src='" + row["Image"].ToString().Substring(windex) + "' height='60' width='60' </></td>"); sbNameRow.Append("<td>" + row["Name"] + "</td>"); if(itemCount % 3 == 0) { //Add Image Row html.Append("<tr>"); html.Append(sbImageRow.ToString()); html.Append("</tr>"); //Add Name Row html.Append("<tr>"); html.Append(sbNameRow.ToString()); html.Append("</tr>"); //Reset values for next group itemCount = 0; sbImageRow = new StringBuilder(); sbNameRow = new StringBuilder(); } } //Check if some of the data hasn't been added to table yet if(itemCount != 0) { //Pad with empty cells if needed for(int i = itemCount; i < 3; i++) { sbImageRow.Append("<td></td>"); sbNameRow.Append("<td></td>"); } //Add Image Row html.Append("<tr>"); html.Append(sbImageRow.ToString()); html.Append("</tr>"); //Add Name Row html.Append("<tr>"); html.Append(sbNameRow.ToString()); html.Append("</tr>"); } html.Append("</table>");
var
This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)