2010-06-02 88 views
0

我有一个datagridview被连接到我的主窗体上的绑定源。绑定源中的一个列和数据成员是DateTime对象。当datagridview显示此项目时,它不使用窗口的默认区域设置来显示日期时间。Datagridview日期时间格式不使用系统区域设置

奇怪的是,我可以访问这个相同的DateTime对象并将其打印到文本框中,甚至将它传递给另一个具有另一个datagridview和绑定源的表单,并且它实际上在该表中正确显示。

那么,为什么在将DateTime对象转换为字符串时,我的主窗体上的datagridview不使用区域日期/时间设置?

我检查过没有特别的格式应用于datagridview,所以我没有想法检查。

你们知道是否有任何超级秘密的方式让datagridview遵循系统区域格式规则吗?另外,由于我非常怀疑我在应用程序中做了与此datagridview不同的其他功能,因此下一个潜在的问题可能出在应用程序负载上:也许因为这会在应用程序加载时出现,它不会得到与其他datagridviews一样的cultureUI设置?

更新我试过向datagrid视图添加另一列,并将它挂接到相同的数据属性(日期时间),我得到了相同的结果。因此,关于整个datagridview或其创建方式的一些事情是停止使用默认区域设置的“ToString”。

任何帮助?

回答

1

在款式上,在DataGridView的Edit Columns对话框:

  1. 搜索财产DefaultCellStyle,并打开此对话框;
  2. 搜索房产Format并选择日期格式;
  3. 选择您喜欢的格式。
+0

如果我这样做,这些变化肯定会持续,这很好,但那不是我想要的结果。我不想应用任何特定的格式,我希望它采用Window的默认格式。其他一切都很好,但不是这个控制。 – Nick 2010-06-02 16:23:14

+0

我知道,如果我可以这样说,那是一个缺陷或缺陷。我曾经设置* DateTime *列* OnFormLoad *的DefaultCellStyle属性。 – 2010-06-02 16:30:32

+0

或者你可以简单地格式化你绑定的日期时间属性在hte getter,不起作用? – 2010-06-02 16:31:52

相关问题