【问题标题】:UltraWinGrid, on date filter select date column value changing format to MM/dd/yyyy from dd/MM/yyyyUltraWinGrid,在日期过滤器上选择日期列值将格式从 dd/MM/yyyy 更改为 MM/dd/yyyy
【发布时间】:2015-11-17 08:52:54
【问题描述】:

我有 infragistics2 v10.3。

我有两列的超网格

|字符串|日期时间|

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

所以网格显示 07.02.2013 14:00 和用户看到这个。

系统有 07-Feb-13

当我想过滤所有带有文本“fe”的列时,它还会显示包含 07.02.2013 的所有行。

在过滤期间,它使用自己的格式并忽略我的自定义
在 InitializeLayout 事件中,我们完成了以下代码来设置 StartDate 列的日期格式

e.Layout.Bands(0).Columns("StartDate").Style = Win.UltraWinGrid.ColumnStyle.Date
e.Layout.Bands(0).Columns("StartDate").Format = "dd/MM/yyyy"
e.Layout.Bands(0).Columns("StartDate").ButtonDisplayStyle = UltraWinGrid.ButtonDisplayStyle.Always

此日期字段列过滤器根据打开的日历中的本地系统日期格式显示 请建议我哪里做错了

【问题讨论】:

    标签: vb.net infragistics ultrawingrid


    【解决方案1】:

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

    您正在为网格设置格式,但在下拉菜单中加载的数据可能与其在数据库中的原始格式相同。

    如果您不想更改日期列的数据类型,我建议您在选择查询中设置 DateFormat,如 change-data-type-of-data-retrieved-by-select-query 中所示(但要注意转换错误或日期更改情况如上所述

    如果您使用 SQL Server(我不确定其他数据库),您可以在选择查询中使用 UDF(用户定义函数),如 example of UDF on TechNetpost on SO: using-udf-in-select-statement 中所示

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

    【讨论】:

    • 在数据库(表)中,我们以 DATETIME 格式保存,但在 ultrawingrid 中创建列时,我们将其定义为字符串数据类型。主要是这个问题发生在打开日历的网格本身中,并且没有为日期选择添加额外的日历。
    • 有什么特别的理由将其定义为字符串?
    • 以前我没有新概念,所以我们将列定义为字符串,现在我们无法更改列的数据类型,如果我们更改,则默认数据源正在设置,但我们没有想要那个,务实地我们正在向网格添加行。
    • 您需要提供更多详细信息。您是在RowEditTemplate 或其他模式下使用UltraDropDownUltraCombo 进行编辑。尝试包含一些与您的 StartDate 列相关的示例代码并附加 DropDown(如果有)。
    • 同时,如果您在 RowEditTemplate 中使用 UltraDropDown,您也可以尝试设置其格式,例如Me.UltraDropDown1.DisplayLayout.Bands(0).Columns("StartDate").Format = "dd/MM/yyyy"
    【解决方案2】:

    您需要像这样设置列的MaskInput 属性:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-09-29
      相关资源
      最近更新 更多