Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vb.net 如何在一个表单中有两个GridView,它们具有相同的数据集,但具有其他填充?_Vb.net_Gridview_Dataset_Datasource - Fatal编程技术网

Vb.net 如何在一个表单中有两个GridView,它们具有相同的数据集,但具有其他填充?

Vb.net 如何在一个表单中有两个GridView,它们具有相同的数据集,但具有其他填充?,vb.net,gridview,dataset,datasource,Vb.net,Gridview,Dataset,Datasource,在这里,您可以看到我的带有2个GridView的表单代码。两者都有相同的数据集bindingsource。数据集由一个数据源组成,有两个不同的sql查询。 filld和fillauswahl filld在gridview中显示select distinct查询。 当用户点击按钮1时,从该gridview中选择的项目保存在verzeichnis1中,该变量将粘贴到fillauswahl,这是 从mytable中选择*,其中columnx=verzeichnis1 我的问题是,两个GridView在

在这里,您可以看到我的带有2个GridView的表单代码。两者都有相同的数据集bindingsource。数据集由一个数据源组成,有两个不同的sql查询。 filld和fillauswahl filld在gridview中显示select distinct查询。 当用户点击按钮1时,从该gridview中选择的项目保存在verzeichnis1中,该变量将粘贴到fillauswahl,这是 从mytable中选择*,其中columnx=verzeichnis1

我的问题是,两个GridView在formload期间都会被filld填充,而通过单击fillverzeichnis按钮,我不知道如何将其分开!?我想这很容易。干杯,谢谢

公共类ImportVerzeichis

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 
编辑:我创建了一个新连接,一个新的数据集和新的dataadapter,现在它可以工作了:

    Dim connectionString As String = My.Settings.SLXADRIUMDEVConnectionString
    Dim sql As String = "SELECT * FROM SKM2 where 
    Benutzerdefiniert_10 ='" & verzeichnis1 & "' "
    Dim connection As New SqlConnection(connectionString)


    Dim dataadapter As New SqlDataAdapter(sql, connection)

    Dim ds As New DataSet()

    connection.Open()
    dataadapter.Fill(ds, "verzeichnis")
    connection.Close()


    datagridview2.DataSource = ds
    datagridview2.DataMember = "verzeichnis"

但如果我能使用我的第一个数据集和第一个适配器,我会更高兴。如果有人知道我是如何做到这一点的,我会很高兴得到我的答案。最好的方法是将数据作为正常的select语句下拉,然后在代码中过滤数据。通过两次使用相同的数据填充数据集,只会使来自数据库的流量变慢。但是,如果您希望保留当前的数据集,我会假设其中有两个表,每个表对应一个select。如果是这种情况,则更改:

datagridview2.DataSource = ds
致:


这是我的威士忌。我的数据集中需要两个表,每个查询一个。但是我不适合这个节目。这是我的第一个数据库项目。我所做的只是创建数据源,将GridView从数据源工具栏拉到项目中,现在我在google的帮助下从上面创建了连接。每次尝试在数据集中创建第二个表并将其链接到正确的sql语句时都失败。
datagridview2.DataSource = ds.Tables(1) 'assumes the second table is used for this datasource