簡體   English   中英

如何從datagridview中刪除行並重置特定列(vb.net 2005)

[英]How to remove a row from datagridview and reset a particular column (vb.net 2005)

我正在使用VS 2005版。 我正在開發winform桌面應用程序。 假設我有一個未綁定的datagridview,其表如下所示:

刪除之前的原始數據網格:

刪除之前的原始數據網格

如果我刪除了東西D(項目編號5),則“項目編號”列應相應地進行自身重置。 預期輸出應為:

刪除行后:

刪除行后

“項目編號”列不是自動編號,它只是我在用戶添加到新行(新材料)中時遞增分配的編號。 我嘗試在rowremoved事件中使用以下代碼,但未能實現預期的輸出。 請幫忙。 謝謝。

如果目標只是在單元格中顯示記錄索引,則無需為單元格分配值,並且足以在CellFormatting事件中設置e.Value = e.RowIndex + 1

但是根據您的評論,看來您也需要這些單元格也具有值。 所以,你需要處理RowsRemovedRowsAdded的事件DataGridView和刷新行號為單元格的值:

Public Sub RefreshRowNumbers(g As DataGridView)
    For Each r As DataGridViewRow In g.Rows
        r.Cells(1).Value = r.Index + 1
    Next
End Sub

Private Sub DataGridView1_RowsRemoved(sender As Object, _
    e As DataGridViewRowsRemovedEventArgs) Handles DataGridView1.RowsRemoved
    RefreshRowNumbers(DirectCast(sender, DataGridView))
End Sub

Private Sub DataGridView1_RowsAdded(sender As Object, _
    e As DataGridViewRowsAddedEventArgs) Handles DataGridView1.RowsAdded
    RefreshRowNumbers(DirectCast(sender, DataGridView))
End Sub

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM