Word 2013 Элементы управления содержимым вложенных повторяющихся разделов

У меня возникла проблема с вложением элементов управления повторяющимся разделом в другие элементы управления повторяющимся разделом.

Представьте, что я перечисляю серверы в виртуальных машинах в средах в центрах обработки данных.

Datacenter1
    Environment1
        VMHost1
           Server1
           Server2
        VMHost2
           Server3
           Server4
    Environment2
        VMHost3
           Server5
...

В моем документе должно быть несколько повторяющихся иерархических разделов.
Это базовая структура документа:

Datacenter1 Header

    Some description text

    ----- Environment1 Table ---------
    | Header1  | Header 2 | Header 3 |
    |--------------------------------|
    | VMHost1  | Server1  | ........ |
    |          | Server2  | ........ |
    |--------------------------------|
    | VMHost2  | Server3  | ........ |
    |          | Server4  | ........ |
    ----------------------------------

    ----- Environment2 Table ---------
    | Header1  | Header 2 | Header 3 |
    |--------------------------------|
    | VMHost3  | Server5  | ........ |
    ----------------------------------

Datacenter2 Header

    Some description text

    ----- Environment3 Table ---------
    | Header1  | Header 2 | Header 3 |
    |--------------------------------|
    | VMHost1  | Server1  | ........ |
    |          | Server2  | ........ |
    |--------------------------------|
    | VMHost2  | Server3  | ........ |
    |          | Server4  | ........ |
    ----------------------------------

Как видите, мне понадобится несколько вложенных элементов управления содержимым.

Но я получаю действительно странное поведение. Например, когда я добавляю вложенный повторяющийся раздел, он иногда удаляет повторяющийся элемент управления за его пределами, который должен быть обернут вокруг строки таблицы.

В других случаях я думаю, что у меня все настроено правильно, а затем, чтобы проверить это, я нажимаю [+], чтобы повторить весь раздел Datacenter, но это делает больше, чем просто повторяет этот раздел или иногда повторяет другие разделы в том же разделе. .

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

Надеюсь, это не ошибка в реализации, и я просто делаю что-то не так ... но я беспокоюсь, что этот «расширенный» сценарий просто не поддерживается.

В конечном итоге я заблокирую все эти элементы управления в пользовательском интерфейсе, и он будет заполняться с помощью пользовательских XML-частей, внедренных с помощью Open XML SDK. У меня есть ряд других разделов в документе, включая повторяющиеся части, которые работают нормально, но их повторяющиеся разделы не вложены друг в друга.

У меня уже есть структура XML, которая должна поддерживать вложенность, и по мере того, как я работал над сопоставлением этих элементов управления, все было хорошо, пока я не изменил XML, чтобы добавить больше дочерних элементов в различные узлы для проверки повторяющихся разделов. В некоторых случаях он удалял целые разделы, в других он повторял вложенные дочерние узлы в качестве родителей, повторяя целые таблицы.

Я предполагаю, что вопросы таковы:
1. Если вы успешно вложили повторяющиеся разделы, как?
2. Если вы столкнулись с таким странным поведением, как вы с этим справились?
3. Какова цель функции группирования в отношении наборов элементов управления содержимым, повторяющихся разделов и следует ли мне использовать их для достижения этой цели?


person JoeBrockhaus    schedule 10.10.2014    source источник
comment
Какой у Вас вопрос? Это вообще непонятно. Если вы считаете, что в вашем коде есть ошибка, опубликуйте код.   -  person Scott Solmer    schedule 10.10.2014
comment
К сожалению, я знаю, что это не очень ясно. Отчасти потому, что я не могу просто опубликовать весь документ, и требуется немного усилий, чтобы создать новый со всем этим. Пока я не могу этого сделать, я хотел получить его там. Тем не менее, ЕСЛИ вы когда-либо делали это, то этой информации должно быть достаточно для предоставления обратной связи. Должно быть довольно ясно, где находятся элементы управления повторяющимися разделами, и требуются ли элементы управления группировкой или облегчается ли это. Я работаю над примером..   -  person JoeBrockhaus    schedule 10.10.2014
comment
@ Okuma.Scott Вы когда-нибудь использовали вложенные повторяющиеся элементы управления содержимым?   -  person JoeBrockhaus    schedule 10.10.2014
comment
Нет, я просто пытаюсь помочь вам получить ответ, улучшив ваш вопрос.   -  person Scott Solmer    schedule 10.10.2014
comment
облом, но спасибо ;)   -  person JoeBrockhaus    schedule 10.10.2014


Ответы (2)


Мне удалось заставить это работать.
Вот пример документа: http://1drv.ms/1nkMGVF
Я использовал этот инструмент для именования, привязки (AutoMap!) и навигации по элементам управления содержимым.

Похоже, проблема заключалась в сочетании двух вещей:

  1. Несовместимая структура XML
  2. Смешивание повторяющихся разделов на основе абзацев внутри повторяющихся разделов на основе таблиц


Несовместимый XML
Чтобы решить проблему с повторяющимися вложенными абзацами в ячейке в повторяющейся строке таблицы, я обернул повторяющиеся элементы внешним элементом:

<relativeRoot>
    <nonRepeatingNode/>
    <table>
        <repeatingTableRow>
            <text1/>
            <text2/>
        </repeatingTableRow>
        <repeatingTableRow>
            <text1/>
            <text2/>
        </repeatingTableRow>
    </table>
</relativeRoot>

Но это вызывало проблемы при добавлении повторяющихся элементов через XML или использовании встроенных функций Word для добавления повторяющегося раздела. Поэтому я изменил его на следующее (удален <table>):

<relativeRoot>
    <nonRepeatingNode/>
    <repeatingTableRow>
        <text1/>
        <text2/>
    </repeatingTableRow>
    <repeatingTableRow>
        <text1/>
        <text2/>
    </repeatingTableRow>
</relativeRoot>


Смешанные повторяющиеся разделы

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

Вот представление иерархии до:

repeating section control
^-> table
    ^-> row (fixed, non-repeating)
        ^-> column1a: plain text control
        ^-> column2a: table
                     ^-> repeating section control
                         ^-> row
                             ^-> column1b: plain text control
                             ^-> column2b: repeating section control
                                           ^--> plain text control

        ^-> column3a: repeating section control
                     ^-> plain text control


- the repeats within column3a work
- the repeats of row column1b/2b do not

А вот после:

repeating section control
^-> table
    ^-> row (fixed, non-repeating)
        ^-> column1a: plain text control
        ^-> column2a: table
                      ^-> repeating section control
                          ^-> row
                              ^-> column1b: plain text control
                              ^-> column2b: table 
                                            ^-> repeating section control
                                                ^-> row                                              
                                                    ^--> column1c: plain text control

        ^-> column3a: repeating section control
                     ^-> plain text control


Это можно сделать и другими способами (проверьте здесь), но по какой-то причине я не смог заставить его работать.

person JoeBrockhaus    schedule 14.10.2014

Я проверил это с Word 2013, и это сработало для меня.

Сначала я поместил элемент управления содержимым повторяющегося раздела (RSCC) вокруг всей таблицы, затем я поместил еще один RSCC вокруг одной строки таблицы (не последней!). Наконец, я поместил элементы управления текстовым содержимым в ячейки таблицы.

person ghuebner    schedule 25.08.2016