C# 当正好是午夜时,如何在Datagridview单元格中显示完整的DateTime值?
我有一个DataGridView,其中有一列保存日期时间值,如下所示: 问题出现在所选行中:它实际上具有值“10/07/2015 12:00:00 am”,但在datagridview中仅显示“10/07/2015”。 下一行的值为“10/07/2015 12:00:26 am”。只有当DateTime值的小时正好是午夜时,才会发生此问题。 当我使用以下代码将该值传递到文本框(左侧)时,DateTime值显示正确(DateTime值位于索引为2的列中): 如何使DataGridView显示完整的日期时间值? 我不想设置该值,因为我想以操作系统区域设置的格式显示日期时间(在我的例子中是es pe)C# 当正好是午夜时,如何在Datagridview单元格中显示完整的DateTime值?,c#,.net,winforms,datetime,datagridview,C#,.net,Winforms,Datetime,Datagridview,我有一个DataGridView,其中有一列保存日期时间值,如下所示: 问题出现在所选行中:它实际上具有值“10/07/2015 12:00:00 am”,但在datagridview中仅显示“10/07/2015”。 下一行的值为“10/07/2015 12:00:26 am”。只有当DateTime值的小时正好是午夜时,才会发生此问题。 当我使用以下代码将该值传递到文本框(左侧)时,DateTime值显示正确(DateTime值位于索引为2的列中): 如何使DataGridView显示完整
我的目标是为x86编译的.Net 3.5。您可以指定
DefaultCellStyle.Format
,但使用适当本地化的:
DefaultCellStyle.Format = "g"; // General date, short time pattern
我不知道这是否会“完全”格式化午夜,但值得一试。您可以指定
DefaultCellStyle.format
,但使用将适当本地化的:
DefaultCellStyle.Format = "g"; // General date, short time pattern
我不知道这会“完全”格式化午夜,但值得一试。如何强制DataGridView在午夜显示小时数(此答案来自Jon Skeet的答案): 在Visual Studio中(我使用的是VS Express 2013),选择您的DataGridView,转到Properties->DefaultCellStyle,在Format属性中输入“G”,然后单击Ok或Aceptar(我的是西班牙语): 这解决了我的问题,并且尊重操作系统的区域设置 我能稍微放松一下吗? MYGOSHOMYGOSHOMYGOSHOMYGOSHJONSKEET自己回答了我的问题,耶!
:D:D:D:D如何强制DataGridView在午夜精确显示小时数(此答案来自Jon Skeet的答案): 在Visual Studio中(我使用的是VS Express 2013),选择您的DataGridView,转到Properties->DefaultCellStyle,在Format属性中输入“G”,然后单击Ok或Aceptar(我的是西班牙语): 这解决了我的问题,并且尊重操作系统的区域设置 我能稍微放松一下吗? MYGOSHOMYGOSHOMYGOSHOMYGOSHJONSKEET自己回答了我的问题,耶!
:D:D:D:D我用了“G”而不是“G”,它起作用了!而且它不会覆盖区域设置(经过测试的wiith es pe和es),我会写另一个答案来说明如何从VS中执行此操作designer@Broken_Window,“G”和“G”是不同的格式模式。@Fabio:我想这只是因为破窗口需要较长的时间格式。@JonSkeet你说得对,我需要较长的格式。我使用了“G”而不是“g”和它的工作!而且它不会覆盖区域设置(经过测试的wiith es pe和es),我会写另一个答案来说明如何从VS中执行此操作designer@Broken_Window,“G”和“G”是不同的格式模式。@Fabio:我想这只是因为坏掉的窗口需要更长的时间格式。@JonSkeet你说得对,我想要更长的格式。