![](/img/trans.png)
[英]How to get the value of date cell datagridview into the datetimepicker?
[英]C# Windows Form Passing DataGridView Cell Value of type Date to DateTimePicker
我是C#的新手,我想在DataGridView上实现CellClick事件,因此当单击它时,它将值从网格传递到文本框和dateTimePicker。
我建立了另一个dateTimePicker,用于将新数据存储到SQL数据库中的称为收益表中。 存储时,会将格式从dateTimePicker1(dd-MM-YYYY)翻转为(MM-dd-YYYY),因此表以不同的顺序存储。
这是我首先将其推送到数据库的方式:
using (connection = new SqlConnection(@"Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=\\VBOXSVR\Projects\cw2\cw2\Database1.mdf;Integrated Security=True"))
using (SqlCommand cmd = new SqlCommand("INSERT INTO income(name,value,date) VALUES ('" + textBox1.Text + "','" + textBox2.Text + "','" + dateTimePicker1.Value.Date + "')", connection))
{
connection.Open();
cmd.ExecuteNonQuery();
label1.Visible = true;
label1.Text = "Db Upload Success!";
}
因此,在触发返回时,日期以表格顺序显示,因此新的dateTimePicker2在表格上显示为,因此原始DateTimePicker1日期例如:2018年12月4日在表格上存储为12/04/2018在2018年3月12日显示在DateTimePicker2上
这是我尝试将Datagrid值传递回不同的文本框和新的dateTimePicker2的尝试:
private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
{
int indexRow = e.RowIndex; // get the selected Row Index
DataGridViewRow row = dataGridView1.Rows[indexRow];
textBox3.Text = row.Cells[1].Value.ToString();
textBox4.Text = row.Cells[2].Value.ToString();
dateTimePicker2.Value = Convert.ToDateTime(row.Cells[3].Value);
}
我已经做过一些研究,但是我不能只更改设置为日期的本地SQL数据库中的格式,但是如何将日期格式化为dd-MM-YYYY格式?
尝试这个:
dateTimePicker2.Value = DateTime.ParseExact(row.Cells[3].Value, "dd-MM-yyyy", CultureInfo.InvariantCulture)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.