Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vb.net UltraWinGrid,在日期过滤器上选择日期列值,将格式从dd/MM/yyyy更改为MM/dd/yyyy_Vb.net_Infragistics_Ultrawingrid - Fatal编程技术网

Vb.net UltraWinGrid,在日期过滤器上选择日期列值,将格式从dd/MM/yyyy更改为MM/dd/yyyy

Vb.net UltraWinGrid,在日期过滤器上选择日期列值,将格式从dd/MM/yyyy更改为MM/dd/yyyy,vb.net,infragistics,ultrawingrid,Vb.net,Infragistics,Ultrawingrid,我有基础设施2 v10.3 我有两列超级网格 |字符串|日期时间| 对于DateTime,我有自定义格式,如dd.MM.yyy HH:MM系统区域设置有短日期格式,如dd-MMM-yy 所以网格显示为2013年2月7日14:00,用户可以看到这一点 该系统于2013年2月7日发布 当我想用文本fe筛选所有列时,它还会显示包含07.02.2013的所有行 在筛选过程中,它使用自己的格式,并忽略InitializeLayout事件中的“我的自定义”,我们已执行以下代码来设置StartDate列的日期

我有基础设施2 v10.3

我有两列超级网格

|字符串|日期时间|

对于DateTime,我有自定义格式,如dd.MM.yyy HH:MM系统区域设置有短日期格式,如dd-MMM-yy

所以网格显示为2013年2月7日14:00,用户可以看到这一点

该系统于2013年2月7日发布

当我想用文本fe筛选所有列时,它还会显示包含07.02.2013的所有行

在筛选过程中,它使用自己的格式,并忽略InitializeLayout事件中的“我的自定义”,我们已执行以下代码来设置StartDate列的日期格式

此日期字段列筛选器根据打开的日历中的本地系统日期格式显示。
请告诉我哪里做错了

由于您使用字符串列类型存储日期,我怀疑日期是如何转换的:2015年8月7日被视为8月7日还是7月8日

您正在为网格设置格式,但在下拉列表中加载的数据可能与数据库中的数据一样为原始格式

如果您不想更改日期列的数据类型,我建议您在select查询中设置DateFormat,如中所示,但要注意转换错误或如上所述的日期更改场景

如果您使用的是SQL Server,我不确定是否还有其他数据库,那么您可以在select查询中使用UDF用户定义函数,如下面或下面所示

此外,如果在初始化或进入编辑模式时明确定义,请不要忘记设置下拉列表的格式。

您需要如下设置列的属性:

e.Layout.Bands(0).Columns("StartDate").MaskInput = "dd/mm/yyyy";

请记住,当单元格处于编辑模式时,它使用编辑器显示编辑的值。因此,当您需要在编辑模式下修复任何内容时,您需要在编辑器中修复它。

在databasetable中,我们以DATETIME格式保存,但在ultrawingrid中创建列时,我们将其定义为string数据类型。这个问题主要发生在开放日历上的网格中,没有为日期选择添加额外的日历。是否有特殊原因将其定义为字符串?以前我没有新的概念,因此我们将like column定义为string&现在我们无法更改该列的数据类型&如果更改,则默认数据源正在设置,但我们不希望这样做,实际上,我们正在向网格中添加行。您需要提供更多详细信息。是否在RowEditTemplate或其他模式中使用UltraDropDown或UltraCombo进行编辑。尝试包含一些与StartDate列和附加下拉列表(如果有)相关的示例代码。同时,如果您在RowEditTemplate中使用UltraDropDown,您也可以尝试设置其格式,例如Me.UltraDropDown1.DisplayLayout.Bands0.ColumnsStartDate.Format=dd/MM/yyyy
e.Layout.Bands(0).Columns("StartDate").MaskInput = "dd/mm/yyyy";