数据集无法从子表获取数据

时间:2016-02-01 11:11:58

标签: vb.net sqlite datagridview dataset

我正在使用数据集来创建组合表并将其显示在datagridview中。 到目前为止,我得到了列,但这些列下没有数据。数据库是一个SQLite,使用两个表来获取所需的数据。表1包含带有其他数据的sample_id字段,表2还包含sample_id字段和另外两个字段,一个是size(1-100)和particle_data。所以它看起来像这样(sample_id,size,data => 12 1 10 | 12 2 11 | 12 3 8 | 12 4 9等。)

这是数据集创建:

Dim dataCombined As DataSet = New DataSet
    dataCombined.Tables.Add(queryResult)
    dataCombined.Tables.Add(particleQuery)
    dataCombined.Relations.Add("combinedSource", queryResult.Columns("sample_id"), particleQuery.Columns("sample_id"))
    For i As Integer = 1 To 100
        queryResult.Columns.Add(i.ToString(), GetType(Integer))
     Next i
SearchResults.DataSource = dataCombined.Tables(0)

显示:

For item As Integer = 1 To 100
    SearchResults.Columns(item.ToString()).HeaderText = item.ToString()
Next item

所以问题是显示了列标题,但是没有数据。我的猜测是我需要以某种方式提供要显示的数据,但不知道我该如何实现它。

1 个答案:

答案 0 :(得分:0)

经过长时间的研究发现这篇文章并提供了解决方案:

Merging 2 data tables in vb.net

根据https://msdn.microsoft.com/en-us/library/system.data.dataview.rowfilter(v=vs.110).aspx文档(需要单引号)进行一些修改:

dv.RowFilter = (sKey & " = '" & row(sKey).ToString() & "'")