【问题标题】:Setting the Date Time Picker to blank or 0 value将日期时间选择器设置为空白或 0 值
【发布时间】:2012-03-25 14:18:00
【问题描述】:

我在这里有这个表格,用户将在其中添加诊断的开始日期。很简单吧?但在end 诊断中,我将如何将其设置为空白?还是 0 值?这是我的表格。

【问题讨论】:

  • 你能显示代码吗?提示虽然是使用 Nullable DateTime?所以它可以存储null。 DateTime 是一个值对象,因此不能存储 null
  • 在我的数据库中,数据类型只有日期。我的意思是在 UI 中如何将它们的初始值设置为 null 或 0?如果用户点击它,它将有一个值。

标签: c# .net winforms date datepicker


【解决方案1】:

您可以做的最好的事情是将ShowCheckBox 设置为true。如果CheckBox 没有勾选,则认为没有设置结束日期。

【讨论】:

  • 结束日期设置 = 0?还是空?
  • 否,Value 属性仍设置为有效日期。您需要测试Checked 属性来决定是否要使用日期。
【解决方案2】:

我认为,不可能将其设置为空白或 0 值.. 如果它为空,您至少可以将其设置为 MinDate..

这个对我有用..

 dateTimePicker1.Format = DateTimePickerFormat.Custom;

 dateTimePicker1.CustomFormat = " ";

【讨论】:

    【解决方案3】:

    您不希望将其设置为 0。这没有任何意义(01 年 1 月 1 日?大多数数据库不存储此日期)

    你应该把它放在与开始相同的地方,或者放在描述常见情况的合理范围内(比如 + 2 周)

    【讨论】:

      【解决方案4】:

      试试setting the Value property。但是,我认为您可以设置该值有多远是有限制的。

      【讨论】:

      • 我希望日期时间选择器显示为空白。或 null 值如何实现?
      • 您不能将日期值设为空,您只能将其设置为远在过去的日期。请参阅 Thomas Levesque 关于在日期旁边放置复选框的答案,这可能会得到您想要的。
      【解决方案5】:

      当您希望表示无日期时,您可以放置​​一个外部复选框并禁用日期时间选择器。

      【讨论】:

        【解决方案6】:

        尝试使用

        dateTimePicker1.Value.Date
        

        它只会返回你的日期

        【讨论】:

        • 这并没有提供问题的答案。要批评或要求作者澄清,请在其帖子下方发表评论。
        【解决方案7】:

        现在一切都解决了,只需要调整。正如你们所说,我没有设置值或属性,所以无论如何它都是空的

        private string _BirthDate;
        
                public Form1()
                {
                    InitializeComponent();
                    dateTimePicker1.MaxDate = DateTime.Now; // Ensures no future dates are set.
                    dateTimePicker1.Format = DateTimePickerFormat.Custom;
                    //dateTimePicker1.Checked = true;
                    dateTimePicker1.CustomFormat = dateTimePicker1.CustomFormat;
                    dateTimePicker1.Value = DateTime.Now;
                }
                public string BirthDate
                {
                    set
                    {
                        if (dateTimePicker1.Value.Date == DateTime.Today)
                        {
                            dateTimePicker1.CustomFormat = " ";
        
                        }
                        else
                        {
                            _BirthDate = value;
                        }
                    }
                    get { return _BirthDate; }
                }
        
        
                private void button1_Click(object sender, EventArgs e)
                {
        
                   BirthDate = dateTimePicker1.Value.ToString();
                }
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2016-07-15
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多