我正在使用VB6和其中我正在使用MSFlexGrid现在我想删除一个完整的行,这是由用户选择的,一旦完成它自动设置焦点到文本框,而搜索在互联网上是有用的,但问题是当我点击按钮,它删除所有的行,甚至第一行,这是FlexGrid的标题,我不想删除第一行。
以下是代码
Private Sub cmdDell_Click()
Dim i As Integer
With grdArticles 'the msflexgrid
If .RowSel <> 0 Then 'check if there is a selected row
For i = .RowSel To .Rows - 2 'loop from selected row to the las row
.TextMatrix(i, 0) = .TextMatrix(i + 1, 0) 'set rows with 1 back
.TextMatrix(i, 1) = .TextMatrix(i + 1, 1)
.TextMatrix(i, 2) = .TextMatrix(i + 1, 2)
.TextMatrix(i, 3) = .TextMatrix(i + 1, 3)
Next i
.Rows = .Rows - 1 'make the rows 1 less
Else
MsgBox "Selecet row to delete!!!", vbExclamation
End If
End With
End Sub发布于 2016-02-29 23:04:56
如果一次只允许选择一行,则只需使用
Me.MSFlexGrid1.RemoveItem Me.MSFlexGrid1.RowSel
如果可以选择多个行(用户通过单击和拖动来选择多个行),则需要确定选定行的范围并分别删除每一行。此页上的代码显示了如何获取开始和结束选定行。在删除行时,您需要反向循环。
http://www.vb-helper.com/howto_tell_flexgrid_rows_selected.html
https://stackoverflow.com/questions/35676632
复制相似问题