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

jpfvwuh4  于 2022-11-16  发布在  其他
关注(0)|答案(7)|浏览(157)

我需要有关DataGridView列日期格式的帮助。我希望日期为“MM/dd/yyyy”。我不需要时间。
如何以编程方式完成此操作?

我已经尝试过这个代码,但它不工作gridView.Columns[1].DefaultCellStyle.Format = "MM/dd/yyyy";
配置管理器.连接字符串[“MyDB”];{字符串CN =连接设置.连接字符串;

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";`
yh2wf1be

yh2wf1be1#

最简单的方法是使用DateTime.ToShortDateString()DateTime.ToLongDateString()
如果这两种格式都不起作用,请查看DateTime.ToString(string)

7ivaypg9

7ivaypg92#

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

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

mkh04yzy3#

如果您尝试格式化数据系结数据行,应该使用DefaultCellStyle.Format。请确定Format属性的值不会在Designer上被覆写。
下面的代码可以正常工作:

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;
r8uurelv

r8uurelv4#

您应该在数据行上使用DataFormatString做为{0:MM/dd/yyyy},以取得想要的日期格式。

6uxekuva

6uxekuva5#

  • 确保数据库中存储的日期为DateTime或Date DataType。*

如果该字段的数据类型不是datetime或date,则无法使用该格式设置其格式。请在表架构中将该数据类型转换为datetype,或在sql查询中转换日期。

Select Cast(entry_datetime As DateTime)...

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

Select CONVERT(VARCHAR(10), entry_datetime, 101) As EntryDate,....
ugmeyewa

ugmeyewa6#

dataGridView1.Columns[0].FormatString = "{0:dd.MM.yyyy}";

只需替换列索引[0,1,2...etc]即可获得所需结果!

gupuwyp2

gupuwyp27#

例如。

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

"试试这个"

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

相关问题