积极答复者
如何彻底删完datagridview data就算打开新file都不会重叠或出现

问题
-
我篇写了彻底删完datagridview data的代码
但是我失败了。以下是我尝试了的代码
我想呈现的是当user 删完所有datagridview 的数据后打开新的file 都是最新和不会出现重叠的问题
Private Sub SurroundingSub()
Dim rowCount As Integer = dgv1.Rows.Count
For n As Integer = 0 To rowCount - 1
If dgv1.Rows(0).IsNewRow = False Then dgv1.Rows.RemoveAt(0)
Next
End Subdgv1.DataSource = Nothing
dgv1.DataSource = DBNull.Value
以下是我遇到的状况
第一张图是当user开第一个file出现的file。
第二张图是当user开第二个file出现重叠的状况。
我希望呈现的是当user clear完datagridview 的file后呈现的datagridview 是想图三
答案
-
Hi christing,
尝试使用以下方法来清空DataGridView中的数据:
Private Sub ClearDGV() DataGridView1.DataSource = Nothing DataGridView1.Rows.Clear() End Sub
希望可以帮助你解决问题。
Best Regards,
Xingyu Zhao
MSDN Community Support
Please remember to click "Mark as Answer" the responses that resolved your issue, and to click "Unmark as Answer" if not. This can be beneficial to other community members reading this thread. If you have any compliments or complaints to MSDN Support, feel free to contact MSDNFSF@microsoft.com.- 已标记为答案 christing 2020年3月23日 14:49
-
Hi christing,
我根据你提供的代码进行了测试,发现问题是由'ds1'引起的,你需要及时清理DataSet。
Private Sub btnopen_excel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnopen_excel.Click ds1.Clear() '... End Sub
希望这可以帮助你解决问题。
Best Regards,
Xingyu Zhao
MSDN Community Support
Please remember to click "Mark as Answer" the responses that resolved your issue, and to click "Unmark as Answer" if not. This can be beneficial to other community members reading this thread. If you have any compliments or complaints to MSDN Support, feel free to contact MSDNFSF@microsoft.com.- 已标记为答案 christing 2020年3月23日 14:49
全部回复
-
Hi christing,
尝试使用以下方法来清空DataGridView中的数据:
Private Sub ClearDGV() DataGridView1.DataSource = Nothing DataGridView1.Rows.Clear() End Sub
希望可以帮助你解决问题。
Best Regards,
Xingyu Zhao
MSDN Community Support
Please remember to click "Mark as Answer" the responses that resolved your issue, and to click "Unmark as Answer" if not. This can be beneficial to other community members reading this thread. If you have any compliments or complaints to MSDN Support, feel free to contact MSDNFSF@microsoft.com.- 已标记为答案 christing 2020年3月23日 14:49
-
Hi christing,
为了进行测试并帮助解决你的问题,你能提供一段完整的代码来帮助我们重现你的问题吗?
期待你的更新。
Best Regards,
Xingyu Zhao
MSDN Community Support
Please remember to click "Mark as Answer" the responses that resolved your issue, and to click "Unmark as Answer" if not. This can be beneficial to other community members reading this thread. If you have any compliments or complaints to MSDN Support, feel free to contact MSDNFSF@microsoft.com. -
@Xingyu Zhao
感谢你的回复。
我篇写了read excel 和 read access file的代码并呈现在datagridview的file以下是我的代码。
我遇到的情况是当我read 了excel file 后我clear 数据后,当我在读取其他file 我的datagridview 后出现重叠数据的问题就像上图。
这是我read excel file 的 代码
Private Sub btnopen_excel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnopen_excel.Click
Dim _filename As String = OpenFile()
Dim _conn As String
_conn = "Provider=Microsoft.ACE.OLEDB.12.0;" & "Data Source=" & _filename & ";" & "Extended Properties=""Excel 12.0;HDR=NO;"""
Dim _connection As OleDbConnection = New OleDbConnection(_conn)
Dim da As OleDbDataAdapter = New OleDbDataAdapter()
Dim _command As OleDbCommand = New OleDbCommand()
_command.Connection = _connection
_command.CommandText = "SELECT * FROM [Sheet1$]"
da.SelectCommand = _command
Try
da.Fill(ds1, "sheet1")
MessageBox.Show("Read Successful")
Me.dgv1.DataSource = ds1
Me.dgv1.DataMember = "sheet1"
Catch e1 As Exception
MessageBox.Show("Read Fail, correct Column name in the sheet!")
End Try
End Sub这是我read access的代码
Private Sub btnopen_data_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnopen_data.Click
Dim objConn As String = "Provider=Microsoft.Jet.Oledb.4.0; Data Source=D:/mydata.mdb;"
Dim objDS As New DataSet
Dim objDT As New DataTable
objDS.Tables.Add(objDT)
Dim objDA As New OleDb.OleDbDataAdapter
objDA = New OleDbDataAdapter("SELECT * FROM Sheet1", objConn)
objDA.Fill(objDT)
dgv1.DataSource = objDT.DefaultView
End Sub感恩你的回复
-
Hi christing,
我根据你提供的代码进行了测试,发现问题是由'ds1'引起的,你需要及时清理DataSet。
Private Sub btnopen_excel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnopen_excel.Click ds1.Clear() '... End Sub
希望这可以帮助你解决问题。
Best Regards,
Xingyu Zhao
MSDN Community Support
Please remember to click "Mark as Answer" the responses that resolved your issue, and to click "Unmark as Answer" if not. This can be beneficial to other community members reading this thread. If you have any compliments or complaints to MSDN Support, feel free to contact MSDNFSF@microsoft.com.- 已标记为答案 christing 2020年3月23日 14:49