加载年份数据库到datetimepicker年份只有c#

时间:2012-05-29 09:57:39

标签: c# forms datagridview datetimepicker

我有两种形式。 form1显示书籍数据,form2编辑书籍数据...在form2中,我有自定义格式的datetimepicker" yyyy" (仅限年份)更新图书发布年....所以当我加载表格2 datetimepicker不显示图书发布年但它显示2012年(当年)...

txttahun(是datetimepicker名称)

当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();

那么如何让datetimepicker显示我输入的图书发布年份?

1 个答案:

答案 0 :(得分:0)

可能在您的情况下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();
    }