【问题标题】:DevExpress DateEdit repository editor date validationDevExpress DateEdit 存储库编辑器日期验证
【发布时间】:2011-09-13 13:15:03
【问题描述】:

如果用户要输入日期以及从下拉日历小部件中进行选择,则捕获输入值的最佳事件在哪里,无论是输入还是选择,然后在日期未通过某些验证时警告用户,以及如果用户决定不覆盖警告,最终将编辑值回滚到原来的位置?

我们需要允许过去的日期,但希望防止过去的意外日期,这通常发生在用户习惯于输入之后的新年的前几个月,例如, 2011 表示全年,然后当年份更改为 2012 时,他们出于习惯键入 2011。因此,此验证仅在一年的前几个月有效,而不是全年有效。

我看不到如何回滚 EditValueChanged 中的值。 args 那里没有取消选项。是否有另一个更好的事件来处理键入的值和选取的值?

【问题讨论】:

    标签: winforms validation devexpress


    【解决方案1】:

    使用EditValueChanging 事件。它确实有一个Cancel 事件,以及NewValueOldValue

    【讨论】:

      【解决方案2】:

      我更喜欢使用 Control 的 Validating 事件,在这里我得到 CancelEventArgs,您可以使用它设置值以及控件上的焦点。 e.Cancel 将把焦点放在控制上。 例如:

      if (txtName.Text == "")
      {
           txtName.ErrorText = "Client Name should not be blank.";
           e.Cancel = true;
      }
      

      【讨论】:

        猜你喜欢
        • 2012-08-29
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-06-26
        • 2014-10-09
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多