ASP.NET C# 数据表替换表中特定列中的特定值

本文关键字:NET 数据表 替换 ASP | 更新日期: 2023-09-27 18:37:18

我在检查数据表中特定列的值时遇到问题。我的数据表来自 sql 查询,在本例中它有 8 列。

我的第三列是名为"状态"的列。在数据库状态将另存为数字。1 = "打开",2 = "工作中",3 = "关闭"。

现在我正在迭代整个表,直到此列,我想检查值是 1 2 还是 3,并将 1 2 或 3 替换为相应的状态名称。(我正在迭代,因为会有更多的列需要修改,所以不仅每行中的第 2 列,还有 4,5 - 但它们将与第 2 列相同。因此,如果我理解一个,我可以做其余的类似的事情)。

但是我不知道如何检查值,我已经尝试了.包含和等于方法。

这是我的代码:

 //for each row
 for (int i = 0; i < dt.Rows.Count; i++)
 {
            //search colums
            for (int j = 0; j < dt.Columns.Count; j++)
            {
                if (j == 2)
                {
                    if (dt.Columns[j].Equals("1") == true)
                    {
                    // dt.Columns[j].value should be replaced with "open";
                    }
                    if (dt.Columns[j].Equals("2") == true)
                    {
                    // dt.Columns[j].value should be replaced with "in-work";
                    }
                    if (dt.Columns[j].value == "3")
                    {
                    // dt.Columns[j].value should be replaced with "closed";
                    }
                }
}

那么如何检查列的值并替换为字符串呢?

提前感谢!

ASP.NET C# 数据表替换表中特定列中的特定值

您可以尝试检查以下内容:

if(dt.Rows[i][j].ToString() == "1")

并替换为:

dt.Rows[i][j] = "Open";

由于dt.Columns[j]是一个DataColumn将其转换为字符串:

dt.Columns[j].ToString()

然后你可以做

dt.Columns[j].ToString() == "1"

要重命名列,只需使用属性Caption

var col = dt.Columns[j];
col.Caption = "in-work";