web-dev-qa-db-ja.com

DataGridViewでDateTime列をフォーマットする方法は?

SOAP=リモートサービスから取得された。エンティティが最後にメッセージを記録したとき。System.DateTime値。 SOAP応答(以下の例)を読むと、彼のタイムスタンプには明らかに2番目の端数までのすべての情報が含まれています。

<LoggingEntity>
<Host>marty86ce</Host>
<process>10148</process>
<logger>http_core</logger>
<appName>httpd</appName>
<ffda>true</ffda>
<lastAction>2010-10-27T12:00:19.5117509Z</lastAction>
<lastHeartbeat>0001-01-01T00:00:00</lastHeartbeat>
<channelId>em_9BA2A2B4D0B6E66</channelId>
<ffdaChannelId>em_E7C8D1D4DE8EEB9</ffdaChannelId>
</LoggingEntity>

テーブルに表示すると、代わりに最大数分まで読むことができます http://i.stack.imgur.com/dLYBz.png 更新ボタンを押すと、次のコードを使用してデータバインディングを実行します

public void RefreshEntities()
{
    IEntityManagement management = EntityPlugin.GetProxy();
    LoggingEntity[] result = management.FindLoggingEntities(new TemplateQuery { ffdaSpecified = true, ffda = true }); //Remote invocation

    Invoke(new MethodInvoker(delegate { gridEntities.DataSource = result; })); //THIS does the data binding from the array

    Invoke(new MethodInvoker(delegate { btnRefresh.Enabled = true; }));
}

データバインド値の列フォーマットを制御する方法を知りたいです。フォーマットdd/MM/yyyy hh:mmはシステムの設定から来ていると思います。 フォーマット設定をプログラムで上書きする方法は?

前もって感謝します

Logbus-ngオープンソースプロジェクトの Subversion (FFDAGuiプログラム)の完全なソリューションコード。

DatagridのWindowsフォームの場合、以下のコードを使用して列の日時をフォーマットできます

dataGrid.Columns[2].DefaultCellStyle.Format = "MM/dd/yyyy HH:mm:ss";

編集:

これとは別に、AM/PM形式の日時が必要な場合は、以下のコードを使用できます

dataGrid.Columns[2].DefaultCellStyle.Format = "MM/dd/yyyy hh:mm:ss tt";
27
Sarath Avanavu

Column.DefaultCellStyle.Format プロパティを使用するか、設定します デザイナーで

38
Denis Palnitsky

必要な形式を設定できます。

dataGridViewCellStyle.Format = "dd/MM/yyyy";
this.date.DefaultCellStyle = dataGridViewCellStyle;
// date being a System.Windows.Forms.DataGridViewTextBoxColumn
29
Jla

Aspxで形式を設定できます。BoundFieldにプロパティ「DateFormatString」を追加するだけです。

DataFormatString="{0:dd/MM/yyyy hh:mm:ss}"
1
user2953513

Microsoftが 標準の日付と時刻のフォーマット文字列 :で公開

dataGrid.Columns[2].DefaultCellStyle.Format = "d"; // Short date

その人の位置設定に従って日付をフォーマットする必要があります。

これは、Microsoftのより大きな 。NETのフォーマットタイプ のコレクションの一部です。

1
jp2code

私はこれらのコードを使用しました

dataGridView2.Rows[n].Cells[3].Value = item[2].ToString();
dataGridView2.Rows[n].Cells[3].Value = Convert.ToDateTime(item[2].ToString()).ToString("d");
0