Как может я фильтровать DBIX:: наборы результатов Класса с внешними данными?

Вы не говорите, в чем ваша проблема, но вам не нужны две петли. Установите высоту при вставке строки.

Спасибо @JvdV за указание на то, что при удалении или вставке строк следует выполнять цикл назад, чтобы избежать пропуска / пропуска строк.

Sub y()

Dim r As Long

With ThisWorkbook.Worksheets("Offer Letter")
    For r = 60 To 2 Step -1
        If Not IsEmpty(.Cells(r, "E")) Then
            .Cells(r + 1, "E").EntireRow.Insert
            .Cells(r + 1, "E").EntireRow.RowHeight = 7
        End If
    Next r
End With

End Sub

enter image description here

6
задан brian d foy 13 January 2010 в 14:44
поделиться

1 ответ

Вы не можете действительно, из-за целей, для которых разработаны наборы результатов DBIC:

  • Они компилируют вниз в SQL и выполняют единый запрос, который они делают не ранее чем тогда, когда Вы просите результаты.
  • Они компонуемы.

Разрешение фильтрации по коду, который работает на стороне Perl, сделало бы ее чрезвычайно волосатой для достижения тех свойств и скроет то, что такие наборы результатов, которые запрашивает на самом деле выполненный N при создании.

Почему Вы хотите это, так или иначе? Почему просто получает результаты и фильтрует их самостоятельно недостаточный?

  • Инкапсуляция? (Например, сокрытие логики фильтрации в Вашем слое бизнес-логики, но начинании запрос в слое логики дисплея.) Затем пишут пользовательский подкласс ResultSet, который имеет средство доступа, которое выполняет запрос и делает желаемую фильтрацию.

  • Наверху? (Например, Вы отклоните большинство результатов, таким образом, Вы не захотите издержки создания объектов для них.) Затем используют HashRefInflator.

8
ответ дан 16 December 2019 в 21:47
поделиться
Другие вопросы по тегам:

Похожие вопросы: