我在做這一切的C#行跨度和列跨度在HTML
我創建了一個表像下面
Company Name Gender
cmc sindhu f
cmc shilpa f
cmc srikar m
但我需要的是....我想「CMC」只出現一次所有的名字。
Company Name Gender
cmc sindhu f
shilpa f
srikar m
如何使用這個rowspan
和colspan
?我的代碼如下:
public class sample
{
static void Main(string[] args)
{
DataTable table=new DataTable();
table.Columns.Add("Company", typeof(string));
table.Columns.Add("Name", typeof(string));
table.Columns.Add("Gender", typeof(string));
table.Rows.Add("cmc", "sindhu", "f");
table.Rows.Add("cmc", "shilpa", "f");
table.Rows.Add("cmc", "srikar", "m");
string htmltable;
string htmlstring;
htmltable=ConvertDataTableToHtml(table);
string filename = "HTML File.html";
StreamWriter swXLS = new StreamWriter("c:\\"+ filename);
swXLS.Write(htmltable.ToString());
swXLS.Close();
}
public static string ConvertDataTableToHtml(DataTable targetTable)
{
string htmlString = "";
if (targetTable == null)
{
throw new System.ArgumentNullException("targetTable");
}
StringBuilder htmlBuilder = new StringBuilder();
//Create Top Portion of HTML Document
htmlBuilder.AppendLine("<html>");
htmlBuilder.AppendLine("<head>");
htmlBuilder.AppendLine("</head>");
htmlBuilder.AppendLine("<body>");
htmlBuilder.AppendLine("<table border='1px' cellpadding='5' cellspacing='0'>");
//Create Header Row
htmlBuilder.Append("<span style='font-size: small;font-weight:bold;'></span>\n");
htmlBuilder.AppendLine("\n<tr align='left' valign='top'>");
foreach (DataColumn targetColumn in targetTable.Columns)
{
htmlBuilder.Append("<td align='left' valign='top'>");
htmlBuilder.Append("<b>");
htmlBuilder.Append(targetColumn.ColumnName);
htmlBuilder.Append("</b>");
htmlBuilder.Append("</td>\n");
}
htmlBuilder.AppendLine("</tr>");
//Create Data Rows
foreach (DataRow myRow in targetTable.Rows)
{
htmlBuilder.AppendLine("\n<tr align='left' valign='top'>");
foreach (DataColumn targetColumn in targetTable.Columns)
{
htmlBuilder.Append("<td align='left' valign='top'>");
htmlBuilder.Append(myRow[targetColumn.ColumnName].ToString());
htmlBuilder.Append("</td>\n");
}
//htmlBuilder.Append("</td>");
htmlBuilder.AppendLine("</tr>\n");
}
//Create Bottom Portion of HTML Document
htmlBuilder.AppendLine("</table>");
htmlBuilder.AppendLine("</body>");
htmlBuilder.AppendLine("</html>");
//Create String to be Returned
htmlString = htmlBuilder.ToString();
return htmlString;
}
}
「System.Data.DataRowCollection」不包含關於「排序依據」的定義和沒有擴展方法「的OrderBy」接受類型「System.Data.DataRowCollection」的第一個參數可以發現(是你錯過了使用指令或程序集引用?)----這個錯誤是coming.i也嘗試添加System.Data.DataRowCollection.but顯示相同的錯誤。 –
不,對不起,我只是假設它是某種類型的枚舉。如果您在將數據添加到「DataTable」之前按第一列對數據進行排序,則應該可以轉儲OrderBy。我會相應地更新我的答案 – Ben
現在我得到了像ORDERBY一樣的錯誤和COUNT –