首页 > 解决方案 > 如何格式化html表格

问题描述

我试图从数据库中选择数据并用数据填充 html 表,其中一列是 Varchar(max) 类型,因此字符串很大并且可读性很差。

当前结果如下:

错误的结果

期望的结果如下: 期望的结果

唯一需要格式化的列是描述列。

我尝试了几种不同的方法,包括使用 Char(13) 将数据插入数据库等,如下所示:

推进器 (95#)'+ CHAR(13)+ char(10)+ '引体向上'

我还尝试向标签添加样式,如下所示:

  html.Append("<th style width: 40px>");
  html.Append(column.ColumnName);
  html.Append("</th>");

这只是给出了列的重复项。我不知道应该怎么做。

以下是使用的代码:

    protected void Page_Load(object sender, EventArgs e)
       {
        if (!this.IsPostBack)
        {
            //Populating a DataTable from database.
            DataTable dt = this.GetData();

            //Building an HTML string.
            StringBuilder html = new StringBuilder();

            //Table start.
            html.Append("<table  border = '1'>");

            //Building the Header row.
            html.Append("<tr>");
            foreach (DataColumn column in dt.Columns)
            {

                html.Append("<th>");
                html.Append(column.ColumnName);
                html.Append("</th>");
            }
            html.Append("</tr>");

            //Building the Data rows.
            foreach (DataRow row in dt.Rows)
            {
                html.Append("<tr>");

                foreach (DataColumn column in dt.Columns)
                {

                    html.Append("<td>");
                    html.Append(row[column.ColumnName]);
                    html.Append("</td>");
                }
                html.Append("</tr>");
            }

            //Table end.
            html.Append("</table>");

            //Append the HTML string to Placeholder.

            FindControl("PlaceHolder1").Controls.Add(new Literal { Text = html.ToString() });
        }

    }

标签: htmlsqlhtml-table

解决方案


试试这个,border-collapse:表格边框折叠成一个边框

table {
  border-collapse: collapse;
  width:100%;
}

table, th, td {
  border: 1px solid black;
}

table td:nth-child(2){ text-align:center; }

table td{ padding:5px; }
<table cellspacing="0">
<tr>
 <th>Name</th>
 <th>Length</th>
 <th>Description</th>
</tr>
<tr>
  <td>Fran</td>
  <td>21-15-9 Reps</td>
  <td>Thruster (95#)<br>Pull-ups</td>
</tr>
<tr>
  <td>Garrett</td>
  <td>3 Rounds</td>
  <td>75 Squats<br>25 Ring Handstand Push-ups<br>25 L Pull-ups</td>
</tr>
</table>


推荐阅读