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」は有効な日時ではありませんというエラーが表示されます。したがって、フィールドのタイプも変更する必要があると思いますが、方法がわかりません。

4

1 に答える 1

1

新しいブール列を追加して入力する必要があります

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 に答える