Get display name of selected item Infopath dropdown list - InfoPath Dev
in

InfoPath Dev

Get display name of selected item Infopath dropdown list

Last post 09-04-2009 09:04 AM by Hilary Stoupa. 1 replies.
Page 1 of 1 (2 items)
Sort Posts: Previous Next
  • 09-01-2009 11:25 AM

    Get display name of selected item Infopath dropdown list

     I'm trying to retrieve the display name (Owner node in the XML below) of an item selected in an InfoPath dropdown list to use to populate in a separate text box. Below is the code I'm attempting to use.

    While running the code I'm getting the error "Expression must evaluate to a node-set." Any help would be appreciated, or if there is a better way to get the display name (Owner field).

    -----------------------------------

       XPathNavigator _xnDoc = MainDataSource.CreateNavigator();
                XPathNodeIterator iter = _xnDoc.Select("/my:myFields/my:Document/my:Assigned_Entity",
                  NamespaceManager);

              System.Text.StringBuilder sb = new System.Text.StringBuilder();

              string value = iter.Current.Value;

              XPathNavigator secDS = DataSources["OwnerEntity"].CreateNavigator();

              string displayName = secDS.SelectSingleNode(
                  "/dfs:myFields/dfs:dataFields/dsf:OwnerEntity/[@value = '"
                  + value + "']/@owner", NamespaceManager).Value;

                sb.Append(displayName);
                sb.Append(";");

                _xnDoc.SelectSingleNode("//my:myFields/my:Document/my:owner").SetValue(displayName);

     

    --------------------------------------------

     The secondary data source (OwnerEntity) returns xml in the below format:

    - <options>

    - <option>

      <value>Corporate</value>

      <displayname>Corporate</displayname>

      <owner>CNC</owner>

      <uniquenumber>000123456</uniquenumber>

      </option>

    - <option>

      <value>UHN</value>

      <displayname>UHN</displayname>

      <owner>Business</owner>

      <uniquenumber>000123457</uniquenumber>

      </option>

    - <option>

      <value>Main</value>

      <displayname>Main</displayname>

      <owner>IT</owner>

      <uniquenumber>000123458</uniquenumber>

      </option>

      </options>

     

     

     

  • 09-04-2009 09:04 AM In reply to

    Re: Get display name of selected item Infopath dropdown list

    Hi, and welcome:

    It is your XPath that is the problem, I suspect.

    Rather than this: "/dfs:myFields/dfs:dataFields/dsf:OwnerEntity/[@value = '" + value + "']/@owner"

    Try this: "/dfs:myFields/dfs:dataFields/dsf:OwnerEntity/@owner[../@value = '" + value + "']"

    Hilary Stoupa

Page 1 of 1 (2 items)
Copyright © 2003-2019 Qdabra Software. All rights reserved.
View our Terms of Use.