如何替换asp.net中的列值

时间:2017-02-06 11:11:14

标签: c# asp.net

我想使用数据表更改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() });
}

以下是我在网页上收到的记录。

Output Image

3 个答案:

答案 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功能。