簡體   English   中英

如何在我的 DataGridView 列中顯示 MM/dd/yyyy(沒有時間)?

[英]How do I display MM/dd/yyyy (no time) in my DataGridView column?

我需要有關我的 DataGridView 列日期格式的幫助。 我希望日期為“MM/dd/yyyy”。 我不需要時間。

如何以編程方式完成?

在此處輸入圖像描述

我已經嘗試過這段代碼,但它不起作用gridView.Columns[1].DefaultCellStyle.Format = "MM/dd/yyyy";

`var connSettings = ConfigurationManager.ConnectionStrings["MyDB"]; { 字符串 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。 確保 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;

您應該在列上使用 DataFormatString 作為 {0:MM/dd/yyyy} 以獲得所需的日期格式。

確保存儲在數據庫中的日期為 DateTime 或 Date DataType。

如果該字段的數據類型不是日期時間或日期,則無法使用該格式對其進行格式化。 在表模式中將數據類型轉換為日期類型,或者在 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";

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM