DataGridView 不能排序

化境者 error overflow 2020-08-29 09:28:21

With DataGridView1
.Sort(.Columns(1), ListSortDirection.Ascending)
End With

运行这段代码时出现 System.ArgumentException:“对象的类型必须是 String。” 错误 .请教各位大神这有何问题
...全文
24455 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
5idonet 2020-09-09
  • 打赏
  • 举报
回复
当CELLs为空时会报错,使用如下语句试试
Private Sub DataGridView1_SortCompare(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewSortCompareEventArgs) Handles DataGridView1.SortCompare
If e.CellValue1.ToString().Length = 0 AndAlso e.CellValue2.ToString().Length = 0 Then
e.SortResult = 0
e.Handled = True
ElseIf e.CellValue1.ToString().Length = 0 Then
e.SortResult = -1
e.Handled = True
ElseIf e.CellValue2.ToString().Length = 0 Then
e.SortResult = 1
e.Handled = True
Else
e.Handled = False
End If
End Sub
思考 2020-09-09
  • 打赏
  • 举报
回复
DataGridView1.Sort(DataGridView1.Columns(1), System.ComponentModel.ListSortDirection.Ascending) 没有问题吧
化境者 error overflow -1 2020-09-07
  • 打赏
  • 举报
回复
引用 2 楼 อาเหว่ย 的回复:
显然写错了。第一列是0。并且需要STRING类型
需要排序列是第二列不是第一列
化境者 error overflow -1 2020-09-07
  • 打赏
  • 举报
回复
引用 1 楼 moou00 的回复:
Columns(1) 的数据类型是 String吗?
需排序列是二列 里面的数据 是文本型 xx.xxMM.
  • 打赏
  • 举报
回复
显然写错了。第一列是0。并且需要STRING类型
moou00 2020-09-01
  • 打赏
  • 举报
回复
Columns(1) 的数据类型是 String吗?

16,721

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧