【问题标题】:Sort strings as DateTime in DataGridView在 DataGridView 中将字符串排序为 DateTime
【发布时间】:2015-07-03 12:13:59
【问题描述】:

我开发了一个由连接到同一网络的多台计算机操作的程序,并且由于其中一些计算机使用不同的 DateTime 格式,我将输出 DateTime 转换为字符串,以便使用英国格式(dd/mm /yyyy hh:mm:ss)。

但是,当输出显示在 DataGridView 中时,由于输出格式为字符串,例如:30/06/2015 13:00: 00 显示在 03/07/2015 13:00:00 上方,因为“3”是第一个字符串的第一个字符,它大于“0”,第二个字符串的第一个字符。

我的问题是如何设置我的 DataGridView 以按时间顺序对这些字符串进行排序?

任何帮助将不胜感激。

【问题讨论】:

  • 您确定将它们排序为DateTime,而不是string?能否请您也展示一下您的作品?
  • @SonerGönül 它被排序为string 因为否则它将失去标准化,这是代码:targetTable.Sort(timeStarted, ListSortDirection.Descending); timeStarted 是具有我想要对我的@987654326 进行排序的日期的列@by,那一列是带有字符串的那一列。
  • 你不需要转换来控制显示格式

标签: c# string sorting datetime datagridview


【解决方案1】:

您不应将其转换为字符串。您应该只使用日期时间对象并使用 DefaultCellStyle.Format 对其进行格式化

【讨论】:

  • 我完全同意 Subba Rao 的观点。但是,如果 dataGridView 不受限制,则有一些简单的解决方案可以对字符串列进行特定排序。如果有界,仍然可以通过定义一个隐藏列来根据您的特定比较器对项目进行排序,并捕获用户操作(单击排序箭头)以在隐藏列上排序而不是在可见列上排序。
猜你喜欢
  • 2015-09-28
  • 2011-02-10
  • 2019-02-21
  • 2017-08-29
  • 1970-01-01
  • 1970-01-01
  • 2016-01-16
  • 2011-07-18
  • 2021-03-31
相关资源
最近更新 更多