更新DataTable.Rows[我].ItemArray价值[j]

本文关键字:ItemArray 价值 DataTable Rows 更新 | 更新日期: 2023-09-27 18:06:56

我有一个数据表,我和填充从CSV文件的页面加载事件。

在数据显示给用户之前,我需要先按日期排序,然后按小时排序。

它对数据进行排序,但是当它们再次显示给用户时,我想格式化日期列,以便以"dd/MM/yyyy"格式显示。

我使用下面的代码来做

DateTime d;
        for (int i = 0; i < dt.Rows.Count; i++)
        {
            for (int j = 0; j < dt.Rows[i].ItemArray.Length; j++)
            {
                if (j == 0)
                {
                    d = DateTime.Parse(dt.Rows[i][j].ToString());
                    dt.Rows[i].ItemArray[j] = (string.Format("{0:dd/MM/yyyy}", d)).ToString(); 
                }
            }

但是dt.Rows[i].ItemArray[j]的值从来没有更新到我需要的格式。

我不知道为什么它不做

更新DataTable.Rows[我].ItemArray价值[j]

假设Date单元格中的数据类型为string:

string strDate = (!(dt.Rows[i][j] is DbNull)) ? DateTime.Parse(dt.Rows[i][j]).ToString("dd/MM/yyyy") : "Unknown";
dt.Rows[i][j] = strDate;

你可以更进一步:

string strDate = "Unknown";
DateTime date;
if (DateTime.TryParse(dt.Rows[i][j], out date))
{
    strDate = date.ToString("dd/MM/yyyy");
}
dt.Rows[i][j] = strDate;