繁体   English   中英

datagridview不会使用combobox vb.net清除数据

[英]datagridview does not clear data with combobox vb.net

当我从组合框中选择项目时,它使项目具有组合框项目,它是从同一表格的不同表中查看datagridview中的数据。问题是当我从组合框datagrid查看数据中选择项目时,以及当我选择其他项目形式时,组合框datagrid用旧的视图查看新列列

这是我的代码:

Dim sqlconn As New SqlConnection(con) 
Dim comm As New SqlCommand 
'Dim comm2 As New SqlCommand
Dim sql As String = "select * from entsab"
Dim adpt As New SqlDataAdapter(Sql, con)
Dim ds As New DataSet()
Dim dr As SqlDataReader 
Dim dr2 As SqlDataReader
Dim dt As New DataTable
Private Sub ComboBox2_SelectedValueChanged(sender As Object, e As EventArgs) Handles ComboBox2.SelectedValueChanged, ComboBox3.SelectedValueChanged
    Select Case ComboBox2.SelectedItem
        Case ComboBox2.Items.Item(0) '1
            dt.Clear()
            Dim comm2 As New SqlCommand
            comm2.CommandText = Nothing
            DGV1.Refresh()
            comm2.CommandText = "select l1,sub_code,sub_name,houres from sub_with_sct where sction_ID=1"
            comm2.Connection = sqlconn
            sqlconn.Open()
            dr2 = comm2.ExecuteReader
            dt.Load(dr2)
            DGV1.AutoGenerateColumns = True
            DGV1.DataSource = dt
            DGV1.Refresh()
            sqlconn.Close()
            DGV1.Visible = True
            comm2.Dispose()
        Case ComboBox2.Items.Item(1)
            dt.Clear()
            Dim comm2 As New SqlCommand
            DGV1.DataSource = Nothing
            DGV1.Columns.Clear()
            comm2.CommandText = Nothing
            DGV1.Refresh()
            comm2.CommandText = "select l2,sub_code,sub_name,houres from sub_with_sct where sction_ID=1"
            comm2.Connection = sqlconn
            sqlconn.Open()
            dr2 = comm2.ExecuteReader
            dt.Load(dr2)
            DGV1.AutoGenerateColumns = True
            DGV1.DataSource = dt
            DGV1.Refresh()
            sqlconn.Close()
            DGV1.Visible = True
            comm2.Dispose()
    End Select
End Sub

当我选择第一项时:

在此处输入图片说明

当我选择第二项时:

在此处输入图片说明

尝试在第一种情况下添加DGV1.Columns.Clear() 并在所有情况下使用dt= New DataTable()而不是dt.Clear()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM