Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在VB.net中对DataGridView的列进行排序(字符串)_Vb.net_Datagridview - Fatal编程技术网

如何在VB.net中对DataGridView的列进行排序(字符串)

如何在VB.net中对DataGridView的列进行排序(字符串),vb.net,datagridview,Vb.net,Datagridview,我一直在尝试在DataGridView(vb.net)中对列进行排序,但由于它被视为字符串,所以无法正确排序。 它显示了如下内容: 1. 1. 1. 10 2. 2. 26 3. 有什么建议吗 DataGridView单元格的默认类型为String。但是,如果在数据源中设置不同的类型,相应的单元格将相应地工作。示例代码: Dim dt As DataTable = New DataTable dt.Columns.Add("col1", GetType(Integer)) dt.Rows.Ad

我一直在尝试在DataGridView(vb.net)中对列进行排序,但由于它被视为字符串,所以无法正确排序。 它显示了如下内容: 1. 1. 1. 10 2. 2. 26 3.


有什么建议吗

DataGridView单元格的默认类型为
String
。但是,如果在
数据源中设置不同的类型,相应的单元格将相应地工作。示例代码:

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
)。

必须将列的数据类型转换为整数。因为字符串是列的默认数据类型。您可以使用以下代码更改数据类型:


datatable1.Columns.Add(“col1”,GetType(Integer))

为什么说字符串不能排序?你能发布你尝试过的代码吗?不,我的意思是,其中一列是数字,我想排序,但它被认为是Ex的字符串。它必须显示:1 2 3 4 5 6 7 8 9 10 11 12,但它显示:1 10 11 12。。。我的问题是如何将此列转换为整数,这样它就可以正常工作了