これは非常に基本的な例ですが、希望どおりに機能します。
DateTime dt = DateTime.Now;
dataGridView1.Columns[0].DataGridView.Rows.Add(dt);
dataGridView1.Columns[0].DefaultCellStyle.Format = "HH:mm";
アプリを実行すると、予想どおり「14:20」または「HH:mm」が返されます。
編集:
以下のコメントに基づいて、OPは実際の必要性を誤って述べていると述べているため、日付を再フォーマットするコードでこの回答を更新しています(ただし、完全性のために元のコードも残しています)。
for (int i = 0; i < 5; i++)
{
DateTime dt = DateTime.Now;
dataGridView1.Columns[0].DataGridView.Rows.Add(dt);
dataGridView1.Columns[0].DefaultCellStyle.Format = "T";
foreach (DataGridViewColumn column in dataGridView1.Columns)
{
column.DefaultCellStyle.Format = "HH:mm";
}
}
OP、あなたのループは私のものとは異なる可能性があることに注意してください。そして、これを精査するために私が取ったアプローチを正確に確認できるように、すべてのコードも投稿します。
namespace WindowsFormsApplication1
{
using System;
using System.Windows.Forms;
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
for (int i = 0; i < 5; i++)
{
DateTime dt = DateTime.Now;
dataGridView1.Columns[0].DataGridView.Rows.Add(dt);
dataGridView1.Columns[0].DefaultCellStyle.Format = "T";
foreach (DataGridViewColumn column in dataGridView1.Columns)
{
column.DefaultCellStyle.Format = "HH:mm";
}
}
}
}
}