私の目にはかなりまっすぐに見える何かの上に私の髪を引っ張っているようです. データセットを変更した後、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 を上記のコードにプラグインし、データセットを再構築します。データグリッドビューには正しいデータが含まれているため、データセットは更新されていますが、私の問題は、データグリッドビューがデータが取り込まれていない古い列をクリアしていないことです。
すべての助けに感謝します。ありがとう