0

我想更改数据表中列的值。数据表中填充了来自 mySql 数据库的日期。我创建了一个函数来根据数据表中的日期将列设置为“Y”或“N”。然后用数据表中的数据填充数据网格。

我做了以下功能:

public static DataTable  DatePastYesOrNo(DataTable myDataTabel, string kolomNaam)
    {
        foreach(DataRow rij in myDataTabel.Rows)
        {
                string datum = myDataTabel.Rows[0][kolomNaam].ToString();
                DateTime myDatum = DateTime.Parse(datum);
                if (myDatum > DateTime.Now)
                {
                    rij[kolomNaam] = "Y";
                }
                else
                {
                    rij[kolomNaam] = "N";
                }
        }
        return myDataTabel;
     }

要执行该功能:

string mijnkolomNaam = "Akkoord";
                HelpFunction.DatePastYesOrNo(sTable, mijnkolomNaam);

我收到错误“N”或“Y”不是有效的日期时间。所以我认为该字段的 de Type 也需要更改,但我不知道如何更改。

4

1 回答 1

1

您应该添加一个新的 bool 列并填充它

DataColumn myBoolCol = myDataTabel.Columns.Add("MyBoolColumn", typeof(bool));

public static DataTable  DatePastYesOrNo(DataTable myDataTabel, string kolomNaam)
{
    foreach(DataRow rij in myDataTabel.Rows)
    {
            string datum = myDataTabel.Rows[0][kolomNaam].ToString();
            DateTime myDatum = DateTime.Parse(datum);
            if (myDatum > DateTime.Now)
            {
                rij["MyBoolColumn"] = "Y";
            }
            else
            {
                rij["MyBoolColumn"] = "N";
            }
    }
    return myDataTabel;
 }
于 2013-09-08T20:16:23.360 回答