MSFlexGrid: Как удалить несколько строк? - VB
Формулировка задачи:
Прошу прощения за возможно глупый вопрос. В гриде есть две строки, с одинаковым значением одного столбца. Строки идут подряд. Как сделать так, чтобы при удалении одной строки автоматом удалялась другая? Вне зависимости от того, находится она выше первой или ниже.
Решение задачи: «MSFlexGrid: Как удалить несколько строк?»
textual
Листинг программы
Private Sub MSFlexGrid1_KeyDown(KeyCode As Integer, Shift As Integer) Dim intThisRow As Integer Dim intThatRow As Integer On Error GoTo MethodExit intThisRow = MSFlexGrid1.Row 'Assume one fixed row!!! If MSFlexGrid1.Rows = 1 Then Exit Sub If intThisRow = MSFlexGrid1.Rows - 1 Then If MSFlexGrid1.TextMatrix(intThisRow, 1) = MSFlexGrid1.TextMatrix(intThisRow - 1, 1) Then intThatRow = intThisRow - 1 End If Else If MSFlexGrid1.TextMatrix(intThisRow, 1) = MSFlexGrid1.TextMatrix(intThisRow + 1, 1) Then intThatRow = intThisRow + 1 ElseIf MSFlexGrid1.TextMatrix(intThisRow, 1) = MSFlexGrid1.TextMatrix(intThisRow - 1, 1) Then intThatRow = intThisRow - 1 End If End If If KeyCode = vbKeyDelete Then If intThatRow > 0 Then If intThatRow > intThisRow Then MSFlexGrid1.RemoveItem intThatRow MSFlexGrid1.RemoveItem intThisRow Else MSFlexGrid1.RemoveItem intThisRow MSFlexGrid1.RemoveItem intThatRow End If Else MSFlexGrid1.RemoveItem intThisRow End If End If MethodExit: If Err.Number <> 0 Then If Err.Number = 30015 Then Err.Clear MSFlexGrid1.Rows = MSFlexGrid1.FixedRows Else MsgBox Err.Description End If End If End Sub
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д