首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何按datetime类型的列值对datagridview排序。

如何按datetime类型的列值对datagridview排序。
EN

Stack Overflow用户
提问于 2013-03-09 20:15:48
回答 2查看 7.1K关注 0票数 1

我在按column2 (我使用的列的名称)对datagridview进行排序时遇到问题

我在列中使用了datetime类型值,现在我想使用以下命令对网格(名为conv_msg_grid)进行排序

代码语言:javascript
复制
conv_msg_grid.Sort(Column2, System.ComponentModel.ListSortDirection.Ascending)

但是它给出了一个错误:“Object必须是String类型。”

它有什么问题?

请帮帮我……

EN

回答 2

Stack Overflow用户

发布于 2013-03-11 15:02:02

您的表中似乎有不一致的数据类型。第一个项目的类型为string,但其中一些项目的类型为date。所以,当你尝试排序的时候,你碰到了不是字符串的东西,就会发生这个错误。

要解决这个问题,你有两个选择。

排序前的

  1. 将所有内容转换为日期时间(或字符串)值。(如果允许用户添加日期,这是更好的选择)
  2. 在向DatagridView中插入数据时,请确保所有值都是DateTime (或string)。(如果用户不能输入日期,这是更好的选择)

要执行(或字符串)选项,只需删除convert.ToDateTime并对值执行ToString。

代码语言:javascript
复制
Dim Column2 As DataGridViewColumn = DataGridView1.Columns(0)
For Each r As DataGridViewRow In DataGridView1.Rows
    r.Cells(Column2.Index).Value = Convert.ToDateTime(r.Cells(Column2.Index).Value)
Next
票数 1
EN

Stack Overflow用户

发布于 2013-07-24 16:36:06

conv_msg_grid.Sort(conv_msg_grid.columns(2),System.ComponentModel.ListSortDirection.Ascending)

卡伦什

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15310541

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档