gpt4 book ai didi

vb.net - 按数字对 datagridview 列进行排序

转载 作者:行者123 更新时间:2023-12-02 00:55:11 26 4
gpt4 key购买 nike

我知道这个问题已经被问过很多次了,但我对在大多数其他页面上找到的解决方案有疑问。

我有一个 datagridview 列,我想按数字排序(1,2,10 而不是 1,10,2)我在网上看到的最好情况是,我需要将列或单元格转换为整数值类型 - 但我不确定该怎么做。

我已经尝试过 grid.columns(4).valuetype = typeof(System.int32),并且对单独的单元格进行了同样的尝试。

上面的尝试总是导致“int32 是‘系统’中的一种类型,不能用作表达式”错误——我不确定。

数据本身是从文本文件中获取的,并在添加到单元格时从字符串转换为整数 datagrid_alltracks.Rows(shutupaboutlambda).Cells(4).Value = CInt(numstring))

最佳答案

您可以只设置 DataGridView SortCompare 事件来比较两个整数(或两个单数,或两个双数)。明智的代码(将您的数据 GridView 称为“网格”)

Private Sub grid_SortCompare(sender as Object, e as DataGridViewSortCompareEventArgs) Handles grid.SortCompare
e.SortResult = CInt(e.cellvalue1).CompareTo(CInt(e.cellValue2))
e.Handled = True
End Sub

如果你正在做单变量或双变量,使用 CSng 或 CDbl 而不是 CInt

    e.SortResult = CSng(e.cellvalue1).Compareto(CSng(e.CellValue2) 

如果需要,您可以进行更花哨的排序,您基本上需要知道 e.SortResult 是正数、负数或零,并且您的单元格根据该结果排序(正保持顺序、负倒序、零匹配- 什么都不做(还))。当前行索引和列在 e 参数中可用,因此如果当前单元格匹配,您还可以比较相邻列数据)

关于vb.net - 按数字对 datagridview 列进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36233083/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com