日付を含む列があり、列ヘッダーをクリックすると、列は日付ではなく数値でソートされます。これを日付順に並べ替えるにはどうすればよいですか?日付の形式は dd/mm/yy です。
例 (最も古いものから順にソート):
10/12/08 <--12 月 10/09/08 <--9 月 12/12/08 <--12 月
どうもありがとう
日付を含む列があり、列ヘッダーをクリックすると、列は日付ではなく数値でソートされます。これを日付順に並べ替えるにはどうすればよいですか?日付の形式は dd/mm/yy です。
例 (最も古いものから順にソート):
10/12/08 <--12 月 10/09/08 <--9 月 12/12/08 <--12 月
どうもありがとう
ソースはデータテーブルですか? その場合は、問題の列が DateTime 型であることを指定する必要があります。
myDataTable.Columns["ColumnName"].DataType = System.Type.GetType("System.Date");
それが役立つことを願っています!
データ ソースがストアド プロシージャからのものである場合は、日付をデータセットの 2 つの列として返します。1 つは書式設定 (varchar) で、もう 1 つは日時データ型です。
ストアド プロシージャが列を返すとします: COLUMN_STRING_FORMAT および COLUMN_DATETIME_FORMAT
グリッドのマークアップでは、
<asp:BoundColumn DataField="COLUMN_STRING_FORMAT" SortExpression="COLUMN_DATETIME_FORMAT" DataFormatString="{0:dd-MMM-yyyy}" /> <asp:BoundColumn DataField="COLUMN_DATETIME_FORMAT" Visible="false"/>
最初の行のソート式に注意してください。DateTime データ型の列を参照します。
これは、DD-MMM-YYYY 形式で日付を並べ替えていたときにうまくいきました。
これを試してみてください、それは私にとってはうまくいきました。
dataGridView1.Columns[colNum].DefaultCellStyle.Format = "d";
colNum
を実際の列番号に置き換えます。はd
ショートデート用です。私は軍の時間も持っているのでHH:mm:ss
、時間ブロックを追加する必要がありました.
セル形式を使用する必要があります
dgv.Rows[rowId].Cells["colCreated"].Style.Format = "HH:mm :: dd/MM/yyyy";
または、列全体でこのようなもの (列の DefaultCellStyle を参照)