0

我有一个 InfoPath 表单,其中部门作为重复表输入,所有部门都在此处输入。

然后我有第二个重复表,其中输入了用户。该行由 3 列组成:用户名字符串、UserDepartmentCombo1(可从查找部门的下拉列表中选择)和 CoveragePathCombo2 下拉列表(再次从部门列表中查找)。

Infopath 输出的 XML 如下:

<?xml version="1.0" encoding="UTF-8"?>
<?mso-infoPathSolution solutionVersion="1.0.0.6" productVersion="15.0.0" PIVersion="1.0.0.0" href="file:///C:\Users\user\Desktop\test.xsn" name="urn:schemas-microsoft-com:office:infopath:test:-myXSD-2012-10-21T13-16-52" ?>
<?mso-application progid="InfoPath.Document" versionProgid="InfoPath.Document.4"?>
<my:myFields xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:my="http://schemas.microsoft.com/office/infopath/2003/myXSD/2012-10-21T13:16:52" xmlns:xd="http://schemas.microsoft.com/office/infopath/2003" xml:lang="en-gb">
  <my:group1>
    <my:Departments>
      <my:DeptName>Accounts</my:DeptName>
      <my:field3>false</my:field3>
    </my:Departments>
    <my:Departments>
      <my:DeptName>Sales</my:DeptName>
      <my:field3>false</my:field3>
    </my:Departments>
    <my:Departments>
      <my:DeptName>Support</my:DeptName>
      <my:field3>false</my:field3>
    </my:Departments>
    <my:Departments>
      <my:DeptName>Reception</my:DeptName>
      <my:field3>false</my:field3>
    </my:Departments>
  </my:group1>
  <my:group2>
    <my:Users>
      <my:UserDepartment>Sales</my:UserDepartment>
      <my:Username>Chris</my:Username>
      <my:CoveragePath>Reception</my:CoveragePath>
    </my:Users>
    <my:Users>
      <my:UserDepartment>Sales</my:UserDepartment>
      <my:Username>Jon</my:Username>
      <my:CoveragePath>Accounts</my:CoveragePath>
    </my:Users>
  </my:group2>
</my:myFields>

我的CoveragePath组合框 XPath 如下:/my:myFields/my:group1/my:Departments/my:DeptName

我希望组合框CoveragePath下拉列表不包括在行UserDepartment组合框中选择的部门,我将如何执行此操作?

4

1 回答 1

0

使用

/my:myFields/my:group1/my:Departments/my:DeptName[not(. = $selected)]

where you need to substitute $selected by whatever was selected in the first combo box.

于 2012-10-22T12:16:07.373 回答