簡體   English   中英

如何在C#Windows應用程序中將日期數據從Datagridview傳輸到datetimepicker

[英]How to transfer date data from datagridview to datetimepicker in c# windows application

我正在C#Windows Forms應用程序中的datagridview上工作,並且正在從數據庫中加載數據,現在我想編輯單元格值並將其保存到數據庫中,這里我在數據庫中有日期和時間。

在此處輸入圖片說明

當我單擊datagridview中的行標題時,數據將傳輸到文本框以及日期時間選擇器中

在此處輸入圖片說明

數據已正確復制到文本框中,但在datetimepicker中復制時會給出錯誤消息。

我完成的代碼。

private void dgvpbx_RowHeaderMouseClick(object sender, DataGridViewCellMouseEventArgs e)
        {
            txtname.Text = dataGridView1.Rows[e.RowIndex].Cells[0].Value.ToString();
            cmbidentifier.Text = dataGridView1.Rows[e.RowIndex].Cells[1].Value.ToString();
            txtplace.Text = dataGridView1.Rows[e.RowIndex].Cells[3].Value.ToString();
            txtcity.Text = dataGridView1.Rows[e.RowIndex].Cells[4].Value.ToString();
            dtpdate.Value = Convert.ToDateTime(dataGridView1.Rows[e.RowIndex].Cells[5].Value.ToString());
            dtptime.Value = Convert.ToDateTime(dataGridView1.Rows[e.RowIndex].Cells[6].Value.ToString());
        }

錯誤消息是

在此處輸入圖片說明

如果您知道日期和時間在網格中的確切格式,請相應地解析它們:

dtpdate.Value = DateTime.ParseExact(dataGridView1.Rows[e.RowIndex].Cells[5].Value.ToString(),
    "dd-MM-yyyy", System.Globalization.CultureInfo.InvariantCulture);
dtptime.Value = DateTime.ParseExact(dataGridView1.Rows[e.RowIndex].Cells[6].Value.ToString(),
    "HH:mm:ss", System.Globalization.CultureInfo.InvariantCulture);

從屏幕快照中,您的兩個DateTimePicker控件似乎都給出了完整的日期。 您可能需要更改這些設置,以便一個僅選擇時間,而另一個僅選擇日期。

請務必注意把你的日期和時間進入電網,您將使用完全相同的格式datetime對象為字符串:

i是您當前正在編輯的索引)

dataGridView1.Rows[i].Cells[5].Value = dtpdate.Value.ToString("dd-MM-yyyy");
dataGridView1.Rows[i].Cells[6].Value = dtptime.Value.ToString("HH:mm:ss");
dtpdate.Value = Convert.ToDateTime(dataGridView1.Rows[e.RowIndex].Cells[5].Value.ToString("dd-MM-yyyy"));
dtptime.Value = Convert.ToDateTime(dataGridView1.Rows[e.RowIndex].Cells[6].Value.ToString("dd-MM-yyyy"));

暫無
暫無

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

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