<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://www.infopathdev.com:443/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Browser Forms</title><link>https://www.infopathdev.com:443/forums/40.aspx</link><description>For browser form specific questions</description><dc:language>en</dc:language><generator>CommunityServer 2007 SP3 (Build: 31118.962)</generator><item><title>Populating a Repeating Table</title><link>https://www.infopathdev.com:443/forums/thread/66616.aspx</link><pubDate>Tue, 17 May 2011 13:20:57 GMT</pubDate><guid isPermaLink="false">033a2e2d-04e2-4a9d-be01-a4634161eefd:66616</guid><dc:creator>Pcheru</dc:creator><slash:comments>0</slash:comments><comments>https://www.infopathdev.com:443/forums/thread/66616.aspx</comments><wfw:commentRss>https://www.infopathdev.com:443/forums/commentrss.aspx?SectionID=40&amp;PostID=66616</wfw:commentRss><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;I am trying to populate &amp;#39;Summary&amp;#39; details table based on &amp;#39;Market&amp;#39;details table.&lt;/p&gt;
&lt;p&gt;Summary Details has &amp;#39;Marketvalue&amp;#39; and &amp;#39;Quantity&amp;#39;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Market Details has &amp;#39;Marketvalue&amp;#39;&amp;nbsp;; &amp;#39;Quantity&amp;#39;&amp;nbsp;; &amp;#39;Count&amp;#39; etc., fields&lt;/p&gt;
&lt;p&gt;The logic: Add the quantity fields in the &amp;#39;Summary&amp;#39; Details table&amp;nbsp;if the same Marketvalue repeats in &amp;#39;Market&amp;#39;Details table.&lt;/p&gt;
&lt;p&gt;Issue: It is populating only the first row of Market Details into Summary details.&lt;/p&gt;
&lt;p&gt;Can somebody please help me.&lt;/p&gt;
&lt;p&gt;Also,let me know a way to attach the .xsn file also&lt;/p&gt;
&lt;p&gt;The code I am using is pasted below:&lt;/p&gt;
&lt;p&gt;using Microsoft.Office.InfoPath;&lt;/p&gt;
&lt;p&gt;using System;&lt;/p&gt;
&lt;p&gt;using System.Xml;&lt;/p&gt;
&lt;p&gt;using System.Web;&lt;/p&gt;
&lt;p&gt;using System.Xml.XPath;&lt;/p&gt;
&lt;p&gt;using System.Diagnostics;&lt;/p&gt;
&lt;p&gt;using System.Threading;&lt;/p&gt;
&lt;p&gt;using System.Collections;&lt;/p&gt;
&lt;p&gt;using System.ComponentModel;&lt;/p&gt;
&lt;p&gt;using System.IO;&lt;/p&gt;
&lt;p&gt;namespace Populate&lt;/p&gt;
&lt;p&gt;{&lt;/p&gt;
&lt;p&gt;public partial class FormCode&lt;/p&gt;
&lt;p&gt;{&lt;/p&gt;
&lt;p&gt;// Member variables are not supported in browser-enabled forms.&lt;/p&gt;
&lt;p&gt;// Instead, write and read these values from the FormState&lt;/p&gt;
&lt;p&gt;// dictionary using code such as the following:&lt;/p&gt;
&lt;p&gt;//&lt;/p&gt;
&lt;p&gt;// private object _memberVariable&lt;/p&gt;
&lt;p&gt;// {&lt;/p&gt;
&lt;p&gt;// get&lt;/p&gt;
&lt;p&gt;// {&lt;/p&gt;
&lt;p&gt;// return FormState[&amp;quot;_memberVariable&amp;quot;];&lt;/p&gt;
&lt;p&gt;// }&lt;/p&gt;
&lt;p&gt;// set&lt;/p&gt;
&lt;p&gt;// {&lt;/p&gt;
&lt;p&gt;// FormState[&amp;quot;_memberVariable&amp;quot;] = value;&lt;/p&gt;
&lt;p&gt;// }&lt;/p&gt;
&lt;p&gt;// }&lt;/p&gt;
&lt;p&gt;// NOTE: The following procedure is required by Microsoft Office InfoPath.&lt;/p&gt;
&lt;p&gt;// It can be modified using Microsoft Office InfoPath.&lt;/p&gt;
&lt;p&gt;public void InternalStartup()&lt;/p&gt;
&lt;p&gt;{&lt;/p&gt;
&lt;p&gt;((ButtonEvent)EventManager.ControlEvents[&amp;quot;Populate&amp;quot;]).Clicked += new ClickedEventHandler(Populate_Clicked);&lt;/p&gt;
&lt;p&gt;}&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;private void getSummary(string strKey, string strType)&lt;/p&gt;
&lt;p&gt;{&lt;/p&gt;
&lt;p&gt;XPathNavigator mainNavigator = this.MainDataSource.CreateNavigator();&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;XPathNodeIterator market_n = mainNavigator.Select(&amp;quot;/my:myFields/my:Market_Details/my:market_details_repeating/my:Market&amp;quot;, NamespaceManager);&lt;/p&gt;
&lt;p&gt;XPathNodeIterator qty_n = mainNavigator.Select(&amp;quot;/my:myFields/my:Market_Details/my:market_details_repeating/my:qty&amp;quot;, NamespaceManager);&lt;/p&gt;
&lt;p&gt;XPathNodeIterator counter_n = mainNavigator.Select(&amp;quot;/my:myFields/my:Market_Details/my:market_details_repeating/my:counter&amp;quot;, NamespaceManager);&lt;/p&gt;
&lt;p&gt;XPathNodeIterator max_counter_n = mainNavigator.Select(&amp;quot;/my:myFields/my:Market_Details/my:max_value&amp;quot;, NamespaceManager);&lt;/p&gt;
&lt;p&gt;XPathNodeIterator summ_marketvalue_n = mainNavigator.Select(&amp;quot;/my:myFields/my:Summary_Details/my:summary_details_repeating/my:summ_marketvalue&amp;quot;, NamespaceManager);&lt;/p&gt;
&lt;p&gt;XPathNodeIterator summ_qty_n = mainNavigator.Select(&amp;quot;/my:myFields/my:Summary_Details/my:summary_details_repeating/my:summ_qty&amp;quot;, NamespaceManager);&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;XPathNodeIterator house_nodes = this.MainDataSource.CreateNavigator().Select(&amp;quot;/my:myFields/my:Summary_Details/my:summary_details_repeating&amp;quot;, NamespaceManager);&lt;/p&gt;
&lt;p&gt;XPathNodeIterator house_nodes1 = this.MainDataSource.CreateNavigator().Select(&amp;quot;/my:myFields/my:Market_Details/my:market_details_repeating&amp;quot;, NamespaceManager);&lt;/p&gt;
&lt;p&gt;max_counter_n.MoveNext();&lt;/p&gt;
&lt;p&gt;int test = Convert.ToInt32(max_counter_n.Current.Value);&lt;/p&gt;
&lt;p&gt;for (int x = 1; x &amp;lt;= test; x++)&lt;/p&gt;
&lt;p&gt;{&lt;/p&gt;
&lt;p&gt;house_nodes1.MoveNext();&lt;/p&gt;
&lt;p&gt;house_nodes.MoveNext();&lt;/p&gt;
&lt;p&gt;string corp;&lt;/p&gt;
&lt;p&gt;string num;&lt;/p&gt;
&lt;p&gt;XPathNavigator xcur1 = house_nodes1.Current;&lt;/p&gt;
&lt;p&gt;xcur1.MoveToChild(&amp;quot;Market&amp;quot;, NamespaceManager.LookupNamespace(&amp;quot;my&amp;quot;));&lt;/p&gt;
&lt;p&gt;corp = xcur1.InnerXml;&lt;/p&gt;
&lt;p&gt;xcur1.MoveToParent();&lt;/p&gt;
&lt;p&gt;xcur1.MoveToChild(&amp;quot;qty&amp;quot;, NamespaceManager.LookupNamespace(&amp;quot;my&amp;quot;));&lt;/p&gt;
&lt;p&gt;num = xcur1.InnerXml;&lt;/p&gt;
&lt;p&gt;xcur1.MoveToParent();&lt;/p&gt;
&lt;p&gt;while (market_n.MoveNext())&lt;/p&gt;
&lt;p&gt;{&lt;/p&gt;
&lt;p&gt;string corp_val;&lt;/p&gt;
&lt;p&gt;string corp_num;&lt;/p&gt;
&lt;p&gt;XPathNavigator xcur = house_nodes.Current;&lt;/p&gt;
&lt;p&gt;xcur.MoveToChild(&amp;quot;summary_details_repeating&amp;quot;, NamespaceManager.LookupNamespace(&amp;quot;my&amp;quot;));&lt;/p&gt;
&lt;p&gt;if (xcur.InnerXml != &amp;quot;&amp;quot;)&lt;/p&gt;
&lt;p&gt;{&lt;/p&gt;
&lt;p&gt;xcur.SetValue(&amp;quot;&amp;quot;);&lt;/p&gt;
&lt;p&gt;}&lt;/p&gt;
&lt;p&gt;xcur.MoveToChild(&amp;quot;summ_marketvalue&amp;quot;, NamespaceManager.LookupNamespace(&amp;quot;my&amp;quot;));&lt;/p&gt;
&lt;p&gt;corp_val = xcur.InnerXml;&lt;/p&gt;
&lt;p&gt;xcur.MoveToParent();&lt;/p&gt;
&lt;p&gt;xcur.MoveToChild(&amp;quot;summary_details_repeating&amp;quot;, NamespaceManager.LookupNamespace(&amp;quot;my&amp;quot;));&lt;/p&gt;
&lt;p&gt;xcur.MoveToChild(&amp;quot;summ_qty&amp;quot;, NamespaceManager.LookupNamespace(&amp;quot;my&amp;quot;));&lt;/p&gt;
&lt;p&gt;corp_num = xcur.InnerXml;&lt;/p&gt;
&lt;p&gt;xcur.MoveToParent();&lt;/p&gt;
&lt;p&gt;xcur.MoveToChild(&amp;quot;summary_details_repeating&amp;quot;, NamespaceManager.LookupNamespace(&amp;quot;my&amp;quot;));&lt;/p&gt;
&lt;p&gt;if (corp_val != corp)&lt;/p&gt;
&lt;p&gt;{&lt;/p&gt;
&lt;p&gt;xcur.AppendChildElement(&amp;quot;my&amp;quot;, &amp;quot;summ_marketvalue&amp;quot;, NamespaceManager.LookupNamespace(&amp;quot;my&amp;quot;), corp);&lt;/p&gt;
&lt;p&gt;xcur.AppendChildElement(&amp;quot;my&amp;quot;, &amp;quot;summ_qty&amp;quot;, NamespaceManager.LookupNamespace(&amp;quot;my&amp;quot;), num);&lt;/p&gt;
&lt;p&gt;}&lt;/p&gt;
&lt;p&gt;else&lt;/p&gt;
&lt;p&gt;{&lt;/p&gt;
&lt;p&gt;int parse = Int32.Parse(num);&lt;/p&gt;
&lt;p&gt;int res1 = Convert.ToInt32(num);&lt;/p&gt;
&lt;p&gt;int parse2 = Int32.Parse(corp_num);&lt;/p&gt;
&lt;p&gt;int res2 = Convert.ToInt32(corp_num);&lt;/p&gt;
&lt;p&gt;int result = res1 + res2;&lt;/p&gt;
&lt;p&gt;string final = Convert.ToString(result);&lt;/p&gt;
&lt;p&gt;summ_qty_n.MoveNext();&lt;/p&gt;
&lt;p&gt;summ_qty_n.Current.SetValue(final);&lt;/p&gt;
&lt;p&gt;}&lt;/p&gt;
&lt;p&gt;summ_marketvalue_n.MoveNext();&lt;/p&gt;
&lt;p&gt;summ_qty_n.MoveNext();&lt;/p&gt;
&lt;p&gt;}&lt;/p&gt;
&lt;p&gt;}&lt;/p&gt;
&lt;p&gt;}&lt;/p&gt;
&lt;p&gt;public void Populate_Clicked(object sender, ClickedEventArgs e)&lt;/p&gt;
&lt;p&gt;{&lt;/p&gt;
&lt;p&gt;getSummary(&amp;quot;&amp;quot;, &amp;quot;&amp;quot;);&lt;/p&gt;
&lt;p&gt;// Write your code here.&lt;/p&gt;
&lt;p&gt;}&lt;/p&gt;
&lt;p&gt;}&lt;/p&gt;
&lt;p&gt;}&lt;/p&gt;
&lt;p&gt;Thank you,&lt;/p&gt;
&lt;p&gt;Priyanka&lt;/p&gt;</description></item></channel></rss>