Copying data from a sharepoint connection to a local repeating table











up vote
0
down vote

favorite












I'm looking to copy data from a sharepoint connection to a local repeating table so that I can modify and re-submit the data.



I've been looking the article below which seems to describe what I require:
http://www.bizsupportonline.net/infopath2007/copy-rows-from-sharepoint-list-to-main-data-source.htm



I'm not familiar with C# so I would like some help on the code as the upper table should match the lower table in the the preview



Thanks in advance



Infopath form screenshot



Secondary connection screenshot



Preview of form after clicking button



C# code linked to button
private void AddItem(string title, string id)
{
XmlDocument doc = new XmlDocument();
XmlNode group = doc.CreateElement("group2",
NamespaceManager.LookupNamespace("my"));



        XmlNode field = doc.CreateElement("field1",
NamespaceManager.LookupNamespace("my"));
XmlNode node = group.AppendChild(field);
node.InnerText = title;

field = doc.CreateElement("field2",
NamespaceManager.LookupNamespace("my"));
node = group.AppendChild(field);
node.InnerText = id;

doc.AppendChild(group);

MainDataSource.CreateNavigator().SelectSingleNode(
"/my:myFields/my:group1",
NamespaceManager).AppendChild(doc.DocumentElement.CreateNavigator());
}

private void DeleteFirstEmptyItem()
{
XPathNavigator domNav = MainDataSource.CreateNavigator();
XPathNavigator itemNav = domNav.SelectSingleNode(
"/my:myFields/my:group1/my:group2[1]",
NamespaceManager);

if (itemNav != null)
itemNav.DeleteSelf();
}

public void CTRL13_5_Clicked(object sender, ClickedEventArgs e)
{
XPathNavigator secDSNav = DataSources["TestCustomList"].CreateNavigator();

// Retrieve the rows of the secondary data source
XPathNodeIterator rows = secDSNav.Select(
"/dfs:myFields/dfs:dataFields/d:SharePointListItem_RW",
NamespaceManager);

// Loop through the rows of the secondary data source and fill the repeating table
while (rows.MoveNext())
{
string title = rows.Current.SelectSingleNode(
"/dfs:myFields/dfs:dataFields/d:SharePointListItem_RW/d:Title", NamespaceManager).Value;
string id = rows.Current.SelectSingleNode(
"/dfs:myFields/dfs:dataFields/d:SharePointListItem_RW/d:ID", NamespaceManager).Value;

// Add the item to the repeating table
AddItem(title, id );
}

// Remove the first empty item from the repeating table
DeleteFirstEmptyItem();
}









share|improve this question


























    up vote
    0
    down vote

    favorite












    I'm looking to copy data from a sharepoint connection to a local repeating table so that I can modify and re-submit the data.



    I've been looking the article below which seems to describe what I require:
    http://www.bizsupportonline.net/infopath2007/copy-rows-from-sharepoint-list-to-main-data-source.htm



    I'm not familiar with C# so I would like some help on the code as the upper table should match the lower table in the the preview



    Thanks in advance



    Infopath form screenshot



    Secondary connection screenshot



    Preview of form after clicking button



    C# code linked to button
    private void AddItem(string title, string id)
    {
    XmlDocument doc = new XmlDocument();
    XmlNode group = doc.CreateElement("group2",
    NamespaceManager.LookupNamespace("my"));



            XmlNode field = doc.CreateElement("field1",
    NamespaceManager.LookupNamespace("my"));
    XmlNode node = group.AppendChild(field);
    node.InnerText = title;

    field = doc.CreateElement("field2",
    NamespaceManager.LookupNamespace("my"));
    node = group.AppendChild(field);
    node.InnerText = id;

    doc.AppendChild(group);

    MainDataSource.CreateNavigator().SelectSingleNode(
    "/my:myFields/my:group1",
    NamespaceManager).AppendChild(doc.DocumentElement.CreateNavigator());
    }

    private void DeleteFirstEmptyItem()
    {
    XPathNavigator domNav = MainDataSource.CreateNavigator();
    XPathNavigator itemNav = domNav.SelectSingleNode(
    "/my:myFields/my:group1/my:group2[1]",
    NamespaceManager);

    if (itemNav != null)
    itemNav.DeleteSelf();
    }

    public void CTRL13_5_Clicked(object sender, ClickedEventArgs e)
    {
    XPathNavigator secDSNav = DataSources["TestCustomList"].CreateNavigator();

    // Retrieve the rows of the secondary data source
    XPathNodeIterator rows = secDSNav.Select(
    "/dfs:myFields/dfs:dataFields/d:SharePointListItem_RW",
    NamespaceManager);

    // Loop through the rows of the secondary data source and fill the repeating table
    while (rows.MoveNext())
    {
    string title = rows.Current.SelectSingleNode(
    "/dfs:myFields/dfs:dataFields/d:SharePointListItem_RW/d:Title", NamespaceManager).Value;
    string id = rows.Current.SelectSingleNode(
    "/dfs:myFields/dfs:dataFields/d:SharePointListItem_RW/d:ID", NamespaceManager).Value;

    // Add the item to the repeating table
    AddItem(title, id );
    }

    // Remove the first empty item from the repeating table
    DeleteFirstEmptyItem();
    }









    share|improve this question
























      up vote
      0
      down vote

      favorite









      up vote
      0
      down vote

      favorite











      I'm looking to copy data from a sharepoint connection to a local repeating table so that I can modify and re-submit the data.



      I've been looking the article below which seems to describe what I require:
      http://www.bizsupportonline.net/infopath2007/copy-rows-from-sharepoint-list-to-main-data-source.htm



      I'm not familiar with C# so I would like some help on the code as the upper table should match the lower table in the the preview



      Thanks in advance



      Infopath form screenshot



      Secondary connection screenshot



      Preview of form after clicking button



      C# code linked to button
      private void AddItem(string title, string id)
      {
      XmlDocument doc = new XmlDocument();
      XmlNode group = doc.CreateElement("group2",
      NamespaceManager.LookupNamespace("my"));



              XmlNode field = doc.CreateElement("field1",
      NamespaceManager.LookupNamespace("my"));
      XmlNode node = group.AppendChild(field);
      node.InnerText = title;

      field = doc.CreateElement("field2",
      NamespaceManager.LookupNamespace("my"));
      node = group.AppendChild(field);
      node.InnerText = id;

      doc.AppendChild(group);

      MainDataSource.CreateNavigator().SelectSingleNode(
      "/my:myFields/my:group1",
      NamespaceManager).AppendChild(doc.DocumentElement.CreateNavigator());
      }

      private void DeleteFirstEmptyItem()
      {
      XPathNavigator domNav = MainDataSource.CreateNavigator();
      XPathNavigator itemNav = domNav.SelectSingleNode(
      "/my:myFields/my:group1/my:group2[1]",
      NamespaceManager);

      if (itemNav != null)
      itemNav.DeleteSelf();
      }

      public void CTRL13_5_Clicked(object sender, ClickedEventArgs e)
      {
      XPathNavigator secDSNav = DataSources["TestCustomList"].CreateNavigator();

      // Retrieve the rows of the secondary data source
      XPathNodeIterator rows = secDSNav.Select(
      "/dfs:myFields/dfs:dataFields/d:SharePointListItem_RW",
      NamespaceManager);

      // Loop through the rows of the secondary data source and fill the repeating table
      while (rows.MoveNext())
      {
      string title = rows.Current.SelectSingleNode(
      "/dfs:myFields/dfs:dataFields/d:SharePointListItem_RW/d:Title", NamespaceManager).Value;
      string id = rows.Current.SelectSingleNode(
      "/dfs:myFields/dfs:dataFields/d:SharePointListItem_RW/d:ID", NamespaceManager).Value;

      // Add the item to the repeating table
      AddItem(title, id );
      }

      // Remove the first empty item from the repeating table
      DeleteFirstEmptyItem();
      }









      share|improve this question













      I'm looking to copy data from a sharepoint connection to a local repeating table so that I can modify and re-submit the data.



      I've been looking the article below which seems to describe what I require:
      http://www.bizsupportonline.net/infopath2007/copy-rows-from-sharepoint-list-to-main-data-source.htm



      I'm not familiar with C# so I would like some help on the code as the upper table should match the lower table in the the preview



      Thanks in advance



      Infopath form screenshot



      Secondary connection screenshot



      Preview of form after clicking button



      C# code linked to button
      private void AddItem(string title, string id)
      {
      XmlDocument doc = new XmlDocument();
      XmlNode group = doc.CreateElement("group2",
      NamespaceManager.LookupNamespace("my"));



              XmlNode field = doc.CreateElement("field1",
      NamespaceManager.LookupNamespace("my"));
      XmlNode node = group.AppendChild(field);
      node.InnerText = title;

      field = doc.CreateElement("field2",
      NamespaceManager.LookupNamespace("my"));
      node = group.AppendChild(field);
      node.InnerText = id;

      doc.AppendChild(group);

      MainDataSource.CreateNavigator().SelectSingleNode(
      "/my:myFields/my:group1",
      NamespaceManager).AppendChild(doc.DocumentElement.CreateNavigator());
      }

      private void DeleteFirstEmptyItem()
      {
      XPathNavigator domNav = MainDataSource.CreateNavigator();
      XPathNavigator itemNav = domNav.SelectSingleNode(
      "/my:myFields/my:group1/my:group2[1]",
      NamespaceManager);

      if (itemNav != null)
      itemNav.DeleteSelf();
      }

      public void CTRL13_5_Clicked(object sender, ClickedEventArgs e)
      {
      XPathNavigator secDSNav = DataSources["TestCustomList"].CreateNavigator();

      // Retrieve the rows of the secondary data source
      XPathNodeIterator rows = secDSNav.Select(
      "/dfs:myFields/dfs:dataFields/d:SharePointListItem_RW",
      NamespaceManager);

      // Loop through the rows of the secondary data source and fill the repeating table
      while (rows.MoveNext())
      {
      string title = rows.Current.SelectSingleNode(
      "/dfs:myFields/dfs:dataFields/d:SharePointListItem_RW/d:Title", NamespaceManager).Value;
      string id = rows.Current.SelectSingleNode(
      "/dfs:myFields/dfs:dataFields/d:SharePointListItem_RW/d:ID", NamespaceManager).Value;

      // Add the item to the repeating table
      AddItem(title, id );
      }

      // Remove the first empty item from the repeating table
      DeleteFirstEmptyItem();
      }






      c# sharepoint infopath






      share|improve this question













      share|improve this question











      share|improve this question




      share|improve this question










      asked Nov 9 at 9:30









      AjiIchiban

      11




      11
























          1 Answer
          1






          active

          oldest

          votes

















          up vote
          0
          down vote













          After some trial and error, it looks like the declaration of string variables title and id shouldn't refer to the full Xpath



          while (rows.MoveNext())
          {
          string title = rows.Current.SelectSingleNode(
          "d:Title", NamespaceManager).Value;
          string id = rows.Current.SelectSingleNode(
          "d:ID", NamespaceManager).Value;

          // Add the item to the repeating table
          AddItem(title, id);
          }


          Desired result






          share|improve this answer























            Your Answer






            StackExchange.ifUsing("editor", function () {
            StackExchange.using("externalEditor", function () {
            StackExchange.using("snippets", function () {
            StackExchange.snippets.init();
            });
            });
            }, "code-snippets");

            StackExchange.ready(function() {
            var channelOptions = {
            tags: "".split(" "),
            id: "1"
            };
            initTagRenderer("".split(" "), "".split(" "), channelOptions);

            StackExchange.using("externalEditor", function() {
            // Have to fire editor after snippets, if snippets enabled
            if (StackExchange.settings.snippets.snippetsEnabled) {
            StackExchange.using("snippets", function() {
            createEditor();
            });
            }
            else {
            createEditor();
            }
            });

            function createEditor() {
            StackExchange.prepareEditor({
            heartbeatType: 'answer',
            convertImagesToLinks: true,
            noModals: true,
            showLowRepImageUploadWarning: true,
            reputationToPostImages: 10,
            bindNavPrevention: true,
            postfix: "",
            imageUploader: {
            brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
            contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
            allowUrls: true
            },
            onDemand: true,
            discardSelector: ".discard-answer"
            ,immediatelyShowMarkdownHelp:true
            });


            }
            });














            draft saved

            draft discarded


















            StackExchange.ready(
            function () {
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53223044%2fcopying-data-from-a-sharepoint-connection-to-a-local-repeating-table%23new-answer', 'question_page');
            }
            );

            Post as a guest















            Required, but never shown

























            1 Answer
            1






            active

            oldest

            votes








            1 Answer
            1






            active

            oldest

            votes









            active

            oldest

            votes






            active

            oldest

            votes








            up vote
            0
            down vote













            After some trial and error, it looks like the declaration of string variables title and id shouldn't refer to the full Xpath



            while (rows.MoveNext())
            {
            string title = rows.Current.SelectSingleNode(
            "d:Title", NamespaceManager).Value;
            string id = rows.Current.SelectSingleNode(
            "d:ID", NamespaceManager).Value;

            // Add the item to the repeating table
            AddItem(title, id);
            }


            Desired result






            share|improve this answer



























              up vote
              0
              down vote













              After some trial and error, it looks like the declaration of string variables title and id shouldn't refer to the full Xpath



              while (rows.MoveNext())
              {
              string title = rows.Current.SelectSingleNode(
              "d:Title", NamespaceManager).Value;
              string id = rows.Current.SelectSingleNode(
              "d:ID", NamespaceManager).Value;

              // Add the item to the repeating table
              AddItem(title, id);
              }


              Desired result






              share|improve this answer

























                up vote
                0
                down vote










                up vote
                0
                down vote









                After some trial and error, it looks like the declaration of string variables title and id shouldn't refer to the full Xpath



                while (rows.MoveNext())
                {
                string title = rows.Current.SelectSingleNode(
                "d:Title", NamespaceManager).Value;
                string id = rows.Current.SelectSingleNode(
                "d:ID", NamespaceManager).Value;

                // Add the item to the repeating table
                AddItem(title, id);
                }


                Desired result






                share|improve this answer














                After some trial and error, it looks like the declaration of string variables title and id shouldn't refer to the full Xpath



                while (rows.MoveNext())
                {
                string title = rows.Current.SelectSingleNode(
                "d:Title", NamespaceManager).Value;
                string id = rows.Current.SelectSingleNode(
                "d:ID", NamespaceManager).Value;

                // Add the item to the repeating table
                AddItem(title, id);
                }


                Desired result







                share|improve this answer














                share|improve this answer



                share|improve this answer








                edited Nov 12 at 2:42

























                answered Nov 12 at 2:32









                AjiIchiban

                11




                11






























                    draft saved

                    draft discarded




















































                    Thanks for contributing an answer to Stack Overflow!


                    • Please be sure to answer the question. Provide details and share your research!

                    But avoid



                    • Asking for help, clarification, or responding to other answers.

                    • Making statements based on opinion; back them up with references or personal experience.


                    To learn more, see our tips on writing great answers.





                    Some of your past answers have not been well-received, and you're in danger of being blocked from answering.


                    Please pay close attention to the following guidance:


                    • Please be sure to answer the question. Provide details and share your research!

                    But avoid



                    • Asking for help, clarification, or responding to other answers.

                    • Making statements based on opinion; back them up with references or personal experience.


                    To learn more, see our tips on writing great answers.




                    draft saved


                    draft discarded














                    StackExchange.ready(
                    function () {
                    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53223044%2fcopying-data-from-a-sharepoint-connection-to-a-local-repeating-table%23new-answer', 'question_page');
                    }
                    );

                    Post as a guest















                    Required, but never shown





















































                    Required, but never shown














                    Required, but never shown












                    Required, but never shown







                    Required, but never shown

































                    Required, but never shown














                    Required, but never shown












                    Required, but never shown







                    Required, but never shown







                    Popular posts from this blog

                    Xamarin.iOS Cant Deploy on Iphone

                    Glorious Revolution

                    Dulmage-Mendelsohn matrix decomposition in Python