如何在DataGridView列中显示MM / dd / yyyy(没时间)?

我需要有关DataGridView列日期格式的帮助。 我希望日期为“MM / dd / yyyy”。 我不需要时间。

如何以编程方式完成?

在此处输入图像描述

我已经尝试过这段代码但它不起作用gridView.Columns[1].DefaultCellStyle.Format = "MM/dd/yyyy";

`var connSettings = ConfigurationManager.ConnectionStrings [“MyDB”]; {string CN = connSettings.ConnectionString;

  MySqlConnection conn = new MySqlConnection(CN); MySqlCommand cmd = new MySqlCommand("select id, entry_datetime, CONCAT(last_name, ' ' ,first_name, ' ' ,alias) as Name/Code from members order by entry_datetime desc;", conn); MySqlDataAdapter data = new MySqlDataAdapter(cmd); conn.Open(); DataTable dt = new DataTable(); data.Fill(dt); gridView.DataSource = dt; } gridView.Columns[0].Width = 120; gridView.Columns[0].HeaderText = "ID"; gridView.Columns[1].Width = 120; gridView.Columns["entry_datetime"].DefaultCellStyle.Format = "MM/dd/yyyy"; gridView.Columns[1].HeaderText = "Date Received"; gridView.Columns[2].HeaderText = "Name/Code";` 

最简单的方法是使用DateTime.ToShortDateString()DateTime.ToLongDateString()

如果这些格式都不起作用,请查看DateTime.ToString(string)

设置DataGridViewDataSource后,设置所需的列格式:

 dataGridView1.Columns["dateReceived"].DefaultCellStyle.Format = "MM/dd/yyyy"; 

如果您尝试格式化数据绑定列,则应使用DefaultCellStyle.Format。 确保Designer上没有覆盖Format属性的值。

以下代码工作正常:

  Random rnd = new Random(); dataGridView1.Columns.Clear(); dataGridView1.Columns.Add("colDate", "Random Date"); dataGridView1.Columns["colDate"].DefaultCellStyle.Format = "MM/dd/yyyy"; dataGridView1.Columns["colDate"].DataPropertyName = "Date"; DataTable dt = new DataTable(); dt.Columns.Add("Date", typeof(DateTime)); for (int i = 1; i <= 10; i++) { DataRow row = dt.NewRow(); row["Date"] = DateTime.Now.AddDays(10 - rnd.Next(20)); dt.Rows.Add(row); } dataGridView1.DataSource = dt; 

您应该在列上使用DataFormatString作为{0:MM / dd / yyyy}来获取所需的日期格式。

确保存储在数据库中的日期是DateTime或Date DataType。

如果该字段的数据类型不是datetime或date,则无法使用该格式进行格式化。 将数据类型转换为表模式中的datetype或在sql查询中转换日期。

 Select Cast(entry_datetime As DateTime)... 

如果字段数据类型是datetime但仍然显示该结果,那么您可以直接在sql查询中格式化日期。

 Select CONVERT(VARCHAR(10), entry_datetime, 101) As EntryDate,.... 
 dataGridView1.Columns[0].FormatString = "{0:dd.MM.yyyy}"; 

只需替换列索引[0,1,2 …等]并获得所需的结果!

例如。

  gridView.DefaultCellStyle.Format = "dd/MM/yyyy"; 

试试这个

  gridView.Columns[3].DefaultCellStyle.Format = "dd/MM/yyyy";