我在 c# .net windows 应用程序中使用 Ultragrid,
我使用了一列数据类型System.DateTime。,在页面加载时它显示为空(如'--/--/--'),
经过一些验证后,我想让该列为空
当我试图使该列为空时,它将当前日期作为默认值或'01/01/0001'.
我将默认值设为空。
如何使该列为空意味着它应该显示为'--/--/--'
我在 c# .net windows 应用程序中使用 Ultragrid,
我使用了一列数据类型System.DateTime。,在页面加载时它显示为空(如'--/--/--'),
经过一些验证后,我想让该列为空
当我试图使该列为空时,它将当前日期作为默认值或'01/01/0001'.
我将默认值设为空。
如何使该列为空意味着它应该显示为'--/--/--'
这可能是您的问题DataSource,而不是网格的问题。
DotNet 中的DateTime数据类型是结构体,所以不能为空。如果您使用DataSet/DataTable或UltraDataSource作为网格的数据源,则这些对象将所有内容存储为对象,以便它们可以处理 null 或DBNull. 我的猜测是,您可能将网格绑定到您自己的自定义类列表,并且该字段的 DataType 是DateTime并且不能接受空值。
如果您正在使用CLR2,也许您可以使用nullable DateTime, 代替。但是,您可能必须将Nullable列上的属性设置为 Nothing,因为即使是nullable类型也无法处理DBNull.