仅将年份数据库加载到日期时间选取器年份 C#
本文关键字:时间 选取 日期 加载 数据库 | 更新日期: 2023-09-27 18:35:32
我有两个表单。 表单 1 显示书籍数据,表单 2 用于编辑书籍数据...在 Form2 中,我有自定义格式为"yyyy"(仅限年份)的日期时间选择器来更新书籍出版年份。因此,当我加载表单 2 日期时间选择器时,不显示书籍出版年份,但它显示 2012(当前年份)......
Txttahun(是日期时间选择器名称)
这是 form2 加载并显示来自 form1 的数据时我的代码
DateTime elshose;
bool elshoseOkay;
elshoseOkay = DateTime.TryParse(Data["tahunterbit"].ToString(), out elshose);
if (elshoseOkay)
{
txttahun.CustomFormat = "yyyy";
txttahun.Format = DateTimePickerFormat.Custom;
txttahun.Text = elshose.Year.ToString();
}
this.TopMost = true;
txtkode.Text = Data["kodebuku"].ToString();
txtkode1.Text = Data["kodebuku"].ToString();
txtjudul.Text = Data["judulbuku"].ToString();
txtpengarang.Text = Data["pengarang"].ToString();
txtkategori.Text = Data["namakategori"].ToString();
txtpenerbit.Text = Data["penerbit"].ToString();
//txttahun.Text = Data["tahunterbit"].ToString();
txtstok.Text = Data["stokbuku"].ToString();
tglter.Text = Data["tglpenerimaan"].ToString();
那么如何让日期时间选择器显示我输入的书籍出版年份呢?
可能是在你的情况下 DateTime.TryParse 将始终失败。 调试并查看应用程序是否来到您设置文本的行txttahun
如果使用dateTimePicker.Text
属性,则需要提供正确的日期时间字符串。 否则它将失败。
由于elshose
是 DateTime 对象,因此您可以直接将其分配为 dateTimePicker1.Value
dateTimePicker1.Value = elshose;
或
txttahun.Text = elshose.ToString();
运行下面的代码并检查您获得的年份。
DateTime elshose;
txttahun.CustomFormat = "yyyy";
txttahun.Format = DateTimePickerFormat.Custom;
if (DateTime.TryParse(Data["tahunterbit"].ToString(), out elshose))
{
txttahun.Text = elshose.ToString();
}else
{
// this line only for testing....
txttahun.Text = DateTime.Today.AddYears(-5).ToString();
}