C# Word 2013嵌套重复节内容控件
在其他重复节控件中嵌套重复节控件时遇到问题 假设我正在枚举数据中心环境中vm主机中的服务器C# Word 2013嵌套重复节内容控件,c#,ms-word,openxml,openxml-sdk,word-2013,C#,Ms Word,Openxml,Openxml Sdk,Word 2013,在其他重复节控件中嵌套重复节控件时遇到问题 假设我正在枚举数据中心环境中vm主机中的服务器 Datacenter1 Environment1 VMHost1 Server1 Server2 VMHost2 Server3 Server4 Environment2 VMHost3 Server5 ... 我的文档需要有许多重
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 | ........ |
----------------------------------
如您所见,我需要一些嵌套的内容控件
但我的行为真的很古怪。与添加嵌套的重复节类似,它有时会删除其外部的重复控件,该控件应围绕表行进行包装
其他时候,我认为我已经正确地设置了所有内容,然后为了测试它,我单击[+]重复整个数据中心部分,但它所做的不仅仅是重复该部分,或者有时重复同一部分中的其他部分
我没有使用分组功能,也不确定我是否应该使用分组功能,或者如果使用分组功能,它会有什么帮助
希望这不是实现中的错误,我只是做错了什么。。但我担心这种“高级”方案不受支持
最终,我将在UI中锁定所有这些控件,并使用OpenXMLSDK中注入的自定义XML部分填充这些控件。我在文档中还有许多其他部分,包括重复部分,它们工作正常,但它们的重复部分没有嵌套
我已经得到了应该支持嵌套的XML结构,在我逐步映射这些控件时,一切都很好,直到我修改了XML,将更多的子节点添加到各个节点以测试重复部分。在某些情况下,它删除了整个部分,在另一些情况下,它重复嵌套的子节点作为父节点,重复整个表。
我想问题是:
1.如果已成功嵌套重复节,如何嵌套
2.如果你遇到了这些古怪的行为,你是如何应对的
3.关于内容控件集、重复节,分组功能的目的是什么?我应该使用它们来实现这一点吗?我已经设法实现了这一点。
下面是一个示例文档:
我曾经帮助命名、绑定(自动映射!)和导航内容控件 问题似乎是由两个因素组合而成:
不兼容的XML
为了解决重复表行中单元格中嵌套段落重复的问题,我使用外部元素包装重复元素:
<relativeRoot>
<nonRepeatingNode/>
<table>
<repeatingTableRow>
<text1/>
<text2/>
</repeatingTableRow>
<repeatingTableRow>
<text1/>
<text2/>
</repeatingTableRow>
</table>
</relativeRoot>
下面是:
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
可能还有其他方法可以让它工作(),但无论出于什么原因,我都无法让它工作 我用Word 2013对此进行了测试,它对我有效
首先,我在整个表周围放置了一个重复节内容控件(RSCC),然后在一个表行(不是最后一行!)周围放置了另一个RSCC。最后,我将纯文本内容控件放入表格单元格。您的问题是什么?这一点并不清楚。如果你认为你的代码中有bug,就发布代码。不幸的是,我知道它不是很清楚。部分原因是我不能仅仅发布整个文档,而且随着所有这些的进行,制作一个新的文档需要一些努力。在我能做到这一点之前,我想把它拿出来。也就是说,如果你曾经这样做过,那么这应该是足够的信息来提供反馈。应该非常清楚重复节控件的位置,以及分组控件是否是必需的,或者是否有助于这些操作。我正在研究一个示例…@Okuma.Scott您是否使用过嵌套的重复内容控件?不,我只是想通过改进您的问题来帮助您获得答案。糟糕,谢谢;)
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