我一直在尝试对DataGridView(vb.net)中的列进行排序,并且只要它被视为字符串,就无法正确排序。 它显示了这样的事情: 1 1 1 10 2 2 26 3 ...
有什么建议吗?
答案 0 :(得分:1)
默认类型DataGridView Cells
为String
。但是如果在DataSource
中设置不同的类型,则相应的单元格将相应地运行。示例代码:
Dim dt As DataTable = New DataTable
dt.Columns.Add("col1", GetType(Integer))
dt.Rows.Add(1)
dt.Rows.Add(10)
dt.Rows.Add(2)
DataGridView1.DataSource = dt
如果您对DataGridView1
的第一列进行排序,则会显示数字行为(例如1, 2, 10
或10, 2, 1
)。
答案 1 :(得分:1)
您必须将列的数据类型转换为整数。因为string是列的默认数据类型。您可以使用以下代码更改数据类型:
datatable1.Columns.Add(“col1”,GetType(Integer))