私のデータベースからDataTableにデータをロードしていて、列の1つが日付フィールドです。DataTableの列のデータ型をDateTimeからStringに変更する
using (SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString))
{
SqlCommand cmd = conn.CreateCommand();
cmd.CommandText = "MySP";
cmd.CommandType = CommandType.StoredProcedure;
conn.Open();
using (SqlDataReader rdr = cmd.ExecuteReader())
{
dt.Load(rdr);
}
}
私の代わりに完全な日付を含有すると、それは「MM/DD/YYYY」のようにフォーマットされるように、その列の書式を設定したいと思います。
テーブルの各行をループしてその列のセルを変更しようとしましたが、文字列が有効なDateTimeオブジェクトではないというエラーが表示されます。
カラムのDateTypeを文字列に変更しようとしましたが、テーブルの塗りつぶし後にDateTypeを変更できないというエラーが表示されます。
どうすればいいですか?これはとても簡単なことですが、私はそれに非常に苦労しています。
どこで、どのようにあなたは、このデータテーブルを使用していますか?私はあなたがあなたのUI層(例えば、データソースとして)でそれを使用するときに日付を書式設定するべきではないと言いたいと思います。 –
私はそれをGridViewにバインドします。列は動的なので、デザインビューではフォーマットできません。列のインデックスも異なる可能性がありますので、RowDataBoundイベントでも同様に変更するのは簡単ではありません。 – Steven
その場合、値を挿入する前に列タイプを文字列にしてフォーマットすることができます。 –