VB.Net datatable / dataview排序错误

时间:2015-12-23 22:05:28

标签: vb.net datagridview

首先,我不是程序员,我自己认为自己是VBA,然后是VB.net并阅读了一些关于这个主题的书籍,但我远非专家,有时我会迷失在术语中,所以请耐心等待我

我有两个我要排序的数据表。它们非常相似并且包含类似的数据,但是对于高指数数据则是一个,另一个是低指数数据。它们从解析出的文本文件加载,并绑定到两个不同的datagridviews。

我认为我的排序部分已关闭,但每次尝试运行代码时,高索引数据表都会生成错误。虽然名称(列,表等)不同,但低索引表和高索引表都非常相似,并且对于所有实例和目的都应该表现相同。

示例代码:

    Dim dtvSorted1 As DataView
    Dim dtvSorted2 As DataView

    dtvSorted1 = New DataView(tblLowData)
    dtvSorted1.Sort = "Point Low ASC"
    grdLowData.DataSource = dtvSorted1

    dtvSorted2 = New DataView(tblHighData)
    dtvSorted2.Sort = "Point High ASC"
    grdHighData.DataSource = dtvSorted2 <- Stops on this line only.

代码始终在最后一行代码上生成错误。它生成的错误如下:

未处理的类型&#39; System.ArgumentException&#39;发生在System.Windows.Forms.dll

附加信息:无法创建字段tblHighData的子列表。

过去两天我一直在寻找答案,找不到合适的答案来解决问题。我已经尝试重命名每个可能的元素,看看这是否是一个错误的&#34;。&#34;造成问题,问题依然存在。我发现难以理解的是,除了表格和网格元素的名称外,数据和网格都是相同的,并且(应该)表现相同!

请让我知道我做错了什么!

1 个答案:

答案 0 :(得分:0)

想出来。

每个datagridviews都位于选项卡控件的不同选项卡上。不确定原因,但除非选中该选项卡,否则不会将数据源设置为数据视图。在尝试绑定数据源之前,我必须以编程方式切换到另一个选项卡。