MSFlexGrid: Как удалить несколько строк? - VB

Узнай цену своей работы

Формулировка задачи:

Прошу прощения за возможно глупый вопрос. В гриде есть две строки, с одинаковым значением одного столбца. Строки идут подряд. Как сделать так, чтобы при удалении одной строки автоматом удалялась другая? Вне зависимости от того, находится она выше первой или ниже.

Решение задачи: «MSFlexGrid: Как удалить несколько строк?»

textual
Листинг программы
  1. Private Sub MSFlexGrid1_KeyDown(KeyCode As Integer, Shift As Integer)
  2.     Dim intThisRow As Integer
  3.     Dim intThatRow As Integer
  4.    
  5.     On Error GoTo MethodExit
  6.    
  7.     intThisRow = MSFlexGrid1.Row
  8.    
  9.     'Assume one fixed row!!!
  10.    
  11.     If MSFlexGrid1.Rows = 1 Then Exit Sub
  12.    
  13.     If intThisRow = MSFlexGrid1.Rows - 1 Then
  14.    
  15.         If MSFlexGrid1.TextMatrix(intThisRow, 1) = MSFlexGrid1.TextMatrix(intThisRow - 1, 1) Then
  16.             intThatRow = intThisRow - 1
  17.         End If
  18.     Else
  19.         If MSFlexGrid1.TextMatrix(intThisRow, 1) = MSFlexGrid1.TextMatrix(intThisRow + 1, 1) Then
  20.             intThatRow = intThisRow + 1
  21.         ElseIf MSFlexGrid1.TextMatrix(intThisRow, 1) = MSFlexGrid1.TextMatrix(intThisRow - 1, 1) Then
  22.            intThatRow = intThisRow - 1
  23.         End If
  24.     End If
  25.    
  26.     If KeyCode = vbKeyDelete Then
  27.         If intThatRow > 0 Then
  28.             If intThatRow > intThisRow Then
  29.                 MSFlexGrid1.RemoveItem intThatRow
  30.                 MSFlexGrid1.RemoveItem intThisRow
  31.             Else
  32.                 MSFlexGrid1.RemoveItem intThisRow
  33.                 MSFlexGrid1.RemoveItem intThatRow
  34.             End If
  35.        
  36.         Else
  37.             MSFlexGrid1.RemoveItem intThisRow
  38.         End If
  39.     End If
  40.    
  41. MethodExit:
  42.    
  43.     If Err.Number <> 0 Then
  44.         If Err.Number = 30015 Then
  45.             Err.Clear
  46.             MSFlexGrid1.Rows = MSFlexGrid1.FixedRows
  47.          Else
  48.             MsgBox Err.Description
  49.         End If
  50.    
  51.     End If
  52.  
  53. End Sub

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

8   голосов , оценка 3.625 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы