[英]How to Add Row at Last position and Remove Row from current position In DataGridview in VB.net
[英]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
。
但是根据您的评论,看来您也需要这些单元格也具有值。 所以,你需要处理RowsRemoved
和RowsAdded
的事件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.