如何动态创建html表头列

时间:2016-06-10 06:56:24

标签: c#

List<string> columsToAdd = SelectedColumns.Split(',').ToList<string>();

string tableHeader = string.Empty;
tableHeader = "<table border = 1>" +
"<thead>" +
"<tr style='font-weight:bold;background-color: #f2f8f8;text-align:center;vertical-align:middle;color: #01846a;'>" +
"<th>" + Headers.Dynamic.Country + "</th>" +
"<th>" + Headers.Dynamic.State + "</th>" +
"<th>" + Headers.Dynamic.City + "</th>" +
"<th>" + Headers.Dynamic.Item1 + "</th>" +
"<th>" + Headers.Dynamic.Item2 + "</th>" +
"<th>" + Headers.Dynamic.Item3 + "</th>" +
"<th>" + Headers.Dynamic.Item4 + "</th>" +
"<th>" + Headers.Dynamic.Item5 + "</th>" +
"</tr>" +
"</thead></table>";

在上面的代码片段中,我创建了一个html表头。在将List<string> columsToAdd添加到<th>之前,如何动态首先检查string tableHeader中是否存在某个项目。

例如,我只想在"<th>" + Headers.Dynamic.Item5 + "</th>" +包含字符串&#34; Item5&#34;

时才添加columsToAdd

1 个答案:

答案 0 :(得分:2)

您可以使用IndexOf方法检查元素是否存在。如果某个colunm的IndexOf大于0而不是添加列。

if(columsToAdd.IndexOf(Headers.Dynamic.Country) > -1)

您的代码应如下所示

string tableHeader = string.Empty;
tableHeader = "<table border = 1>" +
"<thead>" +
"<tr style='font-weight:bold;background-color: #f2f8f8;text-align:center;vertical-align:middle;color: #01846a;'>";

if(columsToAdd.IndexOf(Headers.Dynamic.Country) > -1)
 tableHeader +="<th>" + Headers.Dynamic.Country + "</th>";

tableHeader +="<th>" + Headers.Dynamic.State + "</th>" +
"<th>" + Headers.Dynamic.City + "</th>" +
"<th>" + Headers.Dynamic.Item1 + "</th>" +
"<th>" + Headers.Dynamic.Item2 + "</th>" +
"<th>" + Headers.Dynamic.Item3 + "</th>" +
"<th>" + Headers.Dynamic.Item4 + "</th>" +
"<th>" + Headers.Dynamic.Item5 + "</th>" +
"</tr>" +
"</thead></table>";

同样,您可以查看其他列。