我似乎正在把头发拉到我眼中看起来非常直截了当的东西上。更改数据集后,我无法正确更新 datagridview 控件。
我最初从数据集中填充 datagridview 并自动生成列没问题。但是,如果我使用新数据重新生成数据集,datagridview 将正确显示新数据,但不会删除旧的列标题。
例如,我有一个查询,它给了我商店名称和经理,并自动填充我的数据网格视图。然后,如果我将查询更改为只给我商店名称和主管,它会给我商店名称、经理(带有空白列)和主管。
我已经尝试过 datagridview.refresh() 和 datagridview.update() 但似乎没有任何效果。这是我的代码:
MySQLConn.Open()
Dim ExQry As New MySqlCommand(QryStr, MySQLConn)
ExQry.CommandType = CommandType.Text
Dim da As New MySqlDataAdapter(ExQry)
dasCustomQryData.Clear() 'my dataset is called dasCustomQryData
da.Fill(dasCustomQryData, "QryData")
da.Update(dasCustomQryData, "QryData")
With dgvCustomQuery
.DataSource = Nothing
.Dock = DockStyle.Fill
.AutoGenerateColumns = True
.DataSource = dasCustomQryData
.DataMember = "QryData"
.Refresh()
.Visible = True
End With
MySQLConn.Close()
da.Dispose()
dasCustomQryData.Dispose()
因此,当我想更新我的 datagridview 时,我将一个新的 QryStr 插入到上面的代码中,它会重建我的数据集。数据集正在更新,因为 datagridview 包含正确的数据,但是,我的问题是 datagridview 没有清除不再填充的旧列。
所有帮助表示赞赏。谢谢