datetimepicker select 下拉列表后的值而不是下拉 C#
datetimepicker select a value after dropdown instead of on dropdown C#
我在 winform 上有一个日期时间选择器问题。加载表单时,我将日期时间选择器初始化为
DateIdentifier.Format = DateTimePickerFormat.Custom;
DateIdentifier.CustomFormat = " ";
DateIdentifier.Value = DateTime.Now;
然后,它从 datagridview 中检索值,datagridview 又从后端 table 获取数据源,如下所示:
if (Convert.ToString(dataGridView1.Rows[e.RowIndex].Cells["DateIdentified"].Value) == "")
{
DateIdentifier.CustomFormat = " ";
DateIdentifier.Text = null;
}
else
{
DateIdentifier.CustomFormat = "yyyy-MM-dd";
DateIdentifier.Text = Convert.ToString(dataGridView1.Rows[e.RowIndex].Cells["DateIdentified"].Value);
}
到目前为止它工作正常,但是当我点击下拉按钮时,当前日期时间戳将覆盖从数据库检索的任何日期时间,我猜这是因为我设置了 DateIdentifier.Value = DateTime.Now
。有什么方法可以维护 datetimepicker 的文本框,当下拉菜单被点击时显示来自 datagridview 的值,并且只有当我真正 select 伴随日历中的日期时,新选择的日期才会显示在 datetimepicker 的文本框中?
谢谢。
您没有设置日期时间选择器的 selectedDate。
if (Convert.ToString(dataGridView1.Rows[e.RowIndex].Cells["DateIdentified"].Value) == "")
{
DateIdentifier.CustomFormat = " ";
DateIdentifier.Text = null;
}
else
{
DateIdentifier.CustomFormat = "yyyy-MM-dd";
DateIdentifier.SelectedValue = DateTime.Parse(dataGridView1.Rows[e.RowIndex].Cells["DateIdentified"].Value);
DateIdentifier.Text = Convert.ToString(dataGridView1.Rows[e.RowIndex].Cells["DateIdentified"].Value);
}
我在 winform 上有一个日期时间选择器问题。加载表单时,我将日期时间选择器初始化为
DateIdentifier.Format = DateTimePickerFormat.Custom;
DateIdentifier.CustomFormat = " ";
DateIdentifier.Value = DateTime.Now;
然后,它从 datagridview 中检索值,datagridview 又从后端 table 获取数据源,如下所示:
if (Convert.ToString(dataGridView1.Rows[e.RowIndex].Cells["DateIdentified"].Value) == "")
{
DateIdentifier.CustomFormat = " ";
DateIdentifier.Text = null;
}
else
{
DateIdentifier.CustomFormat = "yyyy-MM-dd";
DateIdentifier.Text = Convert.ToString(dataGridView1.Rows[e.RowIndex].Cells["DateIdentified"].Value);
}
到目前为止它工作正常,但是当我点击下拉按钮时,当前日期时间戳将覆盖从数据库检索的任何日期时间,我猜这是因为我设置了 DateIdentifier.Value = DateTime.Now
。有什么方法可以维护 datetimepicker 的文本框,当下拉菜单被点击时显示来自 datagridview 的值,并且只有当我真正 select 伴随日历中的日期时,新选择的日期才会显示在 datetimepicker 的文本框中?
谢谢。
您没有设置日期时间选择器的 selectedDate。
if (Convert.ToString(dataGridView1.Rows[e.RowIndex].Cells["DateIdentified"].Value) == "")
{
DateIdentifier.CustomFormat = " ";
DateIdentifier.Text = null;
}
else
{
DateIdentifier.CustomFormat = "yyyy-MM-dd";
DateIdentifier.SelectedValue = DateTime.Parse(dataGridView1.Rows[e.RowIndex].Cells["DateIdentified"].Value);
DateIdentifier.Text = Convert.ToString(dataGridView1.Rows[e.RowIndex].Cells["DateIdentified"].Value);
}