我的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";`
答案 0 :(得分:0)
最简单的方法是使用DateTime.ToShortDateString()
或DateTime.ToLongDateString()
如果这些格式都不起作用,请查看DateTime.ToString(string)
答案 1 :(得分:0)
设置DataSource
的{{1}}后,设置所需的列格式:
DataGridView
答案 2 :(得分:0)
如果您正在尝试格式化数据绑定列,则应使用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;
答案 3 :(得分:0)
您应该在列上使用DataFormatString作为{0:MM / dd / yyyy}来获取所需的日期格式。
答案 4 :(得分:0)
确保存储在数据库中的日期是DateTime或Date DataType。
如果该字段的数据类型不是日期时间或日期,则无法使用该格式进行格式化。将数据类型转换为表模式中的datetype或在sql查询中转换日期。
Select Cast(entry_datetime As DateTime)...
如果字段数据类型是datetime但仍然显示该结果,那么您可以直接在sql查询中格式化日期。
Select CONVERT(VARCHAR(10), entry_datetime, 101) As EntryDate,....
答案 5 :(得分:0)
dataGridView1.Columns[0].FormatString = "{0:dd.MM.yyyy}";
只需替换列索引[0,1,2 ...等]并获得所需的结果!
答案 6 :(得分:0)
例如。
gridView.DefaultCellStyle.Format = "dd/MM/yyyy";
试试这个
gridView.Columns[3].DefaultCellStyle.Format = "dd/MM/yyyy";