我正在使用数据集来创建组合表并将其显示在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
所以问题是显示了列标题,但是没有数据。我的猜测是我需要以某种方式提供要显示的数据,但不知道我该如何实现它。
答案 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() & "'")