我想使用数据表更改asp.net中的列值。例如,如果列包含值0,我想显示一些消息而不是0.这是代码。
if (!this.IsPostBack)
{
DataTable dt = this.GetData();
StringBuilder html = new StringBuilder();
html.Append("<table class='table table-hover'>");
html.Append("<tr>");
foreach (DataColumn column in dt.Columns)
{
html.Append("<th style='text-align: center;'>");
html.Append(column.ColumnName);
html.Append("</th>");
}
html.Append("</tr>");
foreach (DataRow row in dt.Rows)
{
html.Append("<tr style='text-align: center;'>");
foreach (DataColumn column in dt.Columns)
{
html.Append("<td>");
html.Append(row[column.ColumnName]);
html.Append("</td>");
}
html.Append("</tr>");
}
html.Append("</table>");
PlaceHolder1.Controls.Add(new Literal { Text = html.ToString() });
}
以下是我在网页上收到的记录。
答案 0 :(得分:1)
您可以将条件放在使用DataTable
数据生成html的位置。如果DataTable单元格值为&#34; 0 &#34;你可以用任何字符串替换它,例如&#34; 零价值&#34;例如,如下所示。
foreach (DataColumn column in dt.Columns)
{
html.Append("<td>");
if(row[column.ColumnName].ToString() != "0")
html.Append(row[column.ColumnName]);
else
html.Append("Zero Value");
html.Append("</td>");
}
编辑根据OP的评论,在if语句的ColumnName上再添加一个条件。
if(column.ColumnName == "status" && row[column.ColumnName].ToString() == "pending")
答案 1 :(得分:1)
试试这个,
NULL
答案 2 :(得分:0)
如果值为零,只需检查条件吗?
foreach (DataColumn column in dt.Columns)
{
html.Append("<td>");
html.Append(column.ColumnName == "status"
? (row[column.ColumnName].ToString() != "0"
? row[column.ColumnName].ToString()
: "Pending")
: row[column.ColumnName].ToString());
html.Append("</td>");
}
如果可能的话,你也可以从SQL服务器使用ISNULL功能。