如何在一个表单中使用相同数据集的2个网格视图,但是其他人口?

时间:2014-04-01 12:23:36

标签: vb.net gridview dataset datasource

在这里,您可以看到包含2个网格视图的表单代码。两者都具有相同的数据集bindingsource。由数据源构成的数据集有2个不同的sql查询。 filld()和fillauswahl()在gridview中填充了一个“select distinct”查询。 当用户点击button1时,该gridview中的所选项目保存在“verzeichnis1”中,此var将被粘贴到fillauswahl(),这是  select* from mytable where columnx = verzeichnis1

我遇到的问题是两个网格视图在使用filld()的formload期间填充,并通过单击fillverzeichnis()的按钮我不知道如何分离!?我想这很容易。干杯和谢谢

Public Class Importverzeichnis

Public verzeichnis1 As String


Private Sub Importverzeichnis_Load(sender As Object, e As EventArgs) Handles MyBase.Load

    Try
        Me.SKM2TableAdapter.Filld(Me.SLXADRIUMDEVDataSet.SKM2)

    Catch ex As System.Exception
        System.Windows.Forms.MessageBox.Show(ex.Message)
    End Try
End Sub


Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click

    For Each cell As DataGridViewCell In DataGridView1.SelectedCells

        verzeichnis1 = cell.Value


    Next

    Me.SKM2TableAdapter.Fillauswahl(Me.SLXADRIUMDEVDataSet.SKM2, verzeichnis1)


End Sub
End Class 

Public verzeichnis1 As String Private Sub Importverzeichnis_Load(sender As Object, e As EventArgs) Handles MyBase.Load Try Me.SKM2TableAdapter.Filld(Me.SLXADRIUMDEVDataSet.SKM2) Catch ex As System.Exception System.Windows.Forms.MessageBox.Show(ex.Message) End Try End Sub Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click For Each cell As DataGridViewCell In DataGridView1.SelectedCells verzeichnis1 = cell.Value Next Me.SKM2TableAdapter.Fillauswahl(Me.SLXADRIUMDEVDataSet.SKM2, verzeichnis1) End Sub End Class

编辑:我创建了一个新的连接,一个新的数据集和新的数据适配器,现在它可以工作:

但如果可以使用我的第一个数据集和我的第一个适配器,我会更高兴。如果任何人知道如何做到这一点,我会很高兴答案

1 个答案:

答案 0 :(得分:0)

对我而言,最好的方法是将数据作为普通的select语句下拉,然后在代码隐藏中过滤数据。通过将具有相同数据的数据集填充两次,您只需使来自数据库的流量变慢。但是,如果您希望保留当前数据集,我会假设其中有两个表,每个表一个。如果是这种情况,那么改变:

datagridview2.DataSource = ds

为:

datagridview2.DataSource = ds.Tables(1) 'assumes the second table is used for this datasource