Среда разработки Dotnetnuke и развертывание

Рассмотрите возможность настройки кода фильтрации с максимальным количеством критериев, которые вы хотите иметь в распоряжении, например, так (здесь показано только 3),

ActiveSheet.Range(myTable2).AutoFilter Field:=1, Criteria1:=myGroupNameFilter(1), _
Criteria2:=myGroupNameFilter(2),Criteria3:=myGroupNameFilter(3),Operator:=xlOr

Установите UBound для myGroupNameFilter в то же самое максимальное количество. Используйте цикл чтения критериев для заполнения массива myGroupNameFilter. Заполните элементы myGroupNameFilter, для которых у вас нет значений, со случайными значениями, которые, как вы знаете, не могут существовать в списке для фильтрации, возможно, «XYZ987» или -99999. Фильтр должен вернуть указанный результат, потому что критерии, которые не находят соответствия, не будут влиять на результат.

Я ненавижу публиковать этот код, потому что он наверняка не сработает, и у меня нет возможности протестировать. Это предназначено, чтобы просто показать идею.

Dim Flt(1 To 15) As Variant

For i = 1 To 15
    If i > myTable.ListRows Then
        ' a value which doesn't exist in your Table2
        Flt(i) = "123XYZ"
    Else
        ' assign a value on which you intend to filter
        Flt(i) = myTable.ListRows(i).Cells(1).Value
    End If
Next

ActiveSheet.Range(myTable2).AutoFilter Field:=1, Criteria1:=Flt(1), _
                                                 Criteria2:=Flt(2), _
                                                 Criteria3:=Flt(3), _
                                                 Criteria4:=Flt(4), _
                                                 Criteria5:=Flt(5), _
                                                 Criteria6:=Flt(6), _
                                                 Criteria7:=Flt(7), _
                                                 Criteria8:=Flt(8), _
                                                 Criteria9:=Flt(9), _
                                                 Criteria10:=Flt(10), _
                                                 Criteria11:=Flt(11), _
                                                 Criteria12:=Flt(12), _
                                                 Criteria13:=Flt(13), _
                                                 Criteria14:=Flt(14), _
                                                 Criteria15:=Flt(15), _
                                        Operator:=xlOr

Дело в том, что вы не можете установить фильтр в цикле, в котором вы устанавливаете критерии фильтра.

7
задан bdukes 17 November 2008 в 16:24
поделиться

1 ответ

Управление исходным кодом

Я рекомендую использовать отдельные проекты для проектов DotNetNuke (кожа, модули, поставщики), и не проверить сам фактический веб-сайт в среде управления исходным кодом (Модули DNN использовали бы проект стиля WAP). У каждого разработчика могли затем быть их собственный сайт DotnetNuke и база данных в их среде разработки. Я также не рекомендую внести изменения в ядро DotNetNuke так, чтобы у Вас была чистая процедура обновления. Я рекомендовал бы использовать инструмент, такой как Данные SQL Красного Логического элемента, Выдерживают сравнение для генерации сценариев базы данных для данных, которые Вы могли сохранить в среде управления исходным кодом также.

Вот еще некоторая информация об установке веб-приложения Проект для модуля DotNetNuke.

Тестирование/Подготовка/Производство

Разделение их в DotNetNuke обычно очень легко, потому что Вы уже создаете модули, которые включают сайт DNN. Моя рекомендация состоит в том, чтобы создать упакованные и правильно имеющие версию модули так, чтобы можно было чисто установить их на тесте, подготовке и производстве.

Вот некоторая информация об использовании NAnt для автоматизации упаковки модуля DNN.

8
ответ дан 7 December 2019 в 05:32
поделиться
Другие вопросы по тегам:

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