none
請問日期資料寫入textbox的問題? RRS feed

  • 問題

  • 想請問日期資料寫入textbox的問題?

    程式碼如下

    ReleaseDateBox.Text=dataGridView1.CurrentRow.Cells[5].Value.ToString();

    我從資料庫取出某一列的第5個值(是一個字串,字串內容是日期)

    寫入到ReleaseDateBox.Text中 但是他會顯示 除了日期以外的東西 像是 上午 xx:xx
    我想把後面的那段去掉

    我後來改成這樣

                DateTime dt = new DateTime();
                string ReleaseDate = dataGridView1.CurrentRow.Cells[5].Value.ToString();
                DateTime.TryParse(ReleaseDate, out dt);
                dt.ToString("yyyy/MM/dd");
                ReleaseDateBox.Text = dt;

    但是最後textbox只能接string 沒辦法讓Stem.data.time隱含轉換成string

    我後來有用maskedtextbox看看

    2012/04/28 日期會變成 

    2012/42/8_ 這樣

    原始資料有0的話就會亂掉
    • 已編輯 MiOzzz 2018年5月26日 上午 08:08
    2018年5月26日 上午 07:59

所有回覆

  • 你要把值給 TextBox 免不了要 Datatime 轉 String。

    如果你可以確保你該格欄位一定是時間的話 一行應該就可以解決了。

    textBox1.Text = ((DateTime)myDataGridview.CurrentRow.Cells[5].Value).ToString("yyyy/MM/dd");

    或是建議為了這樣的轉型寫一個擴充方法。

    2018年5月26日 上午 08:06
  • 去掉時間的部分可以用:

    dataGridView1.CurrentRow.Cells[5].Value.ToString("d");


    dataGridView1.CurrentRow.Cells[5].Value.ToShortDateString();

    2018年5月27日 上午 12:30
  • 去掉時間的部分可以用:

    dataGridView1.CurrentRow.Cells[5].Value.ToString("d");


    dataGridView1.CurrentRow.Cells[5].Value.ToShortDateString();

    Cell[5].Value 是 object 似乎沒法這樣用。
    2018年5月27日 上午 01:50
  • 對喔~

    只能先轉型了:

    Convert.ToDateTime(dataGridView1.CurrentRow.Cells[5].Value).ToString("d");


    Convert.ToDateTime(dataGridView1.CurrentRow.Cells[5].Value).ToShortDateString();

    2018年5月27日 上午 10:44