【问题标题】:Dataset not getting the data from child table数据集未从子表中获取数据
【发布时间】:2016-05-09 19:35:27
【问题描述】:

我正在使用数据集创建组合表并将其显示在 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

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

【问题讨论】:

    标签: vb.net sqlite datagridview dataset


    【解决方案1】:

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

    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() & "'")
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-10-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多