<?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>Re: Get current value of row fields in a repeating table</title><link>https://www.infopathdev.com:443/forums/thread/27907.aspx</link><pubDate>Fri, 11 Apr 2008 20:23:46 GMT</pubDate><guid isPermaLink="false">033a2e2d-04e2-4a9d-be01-a4634161eefd:27907</guid><dc:creator>Chris Wasser</dc:creator><slash:comments>0</slash:comments><comments>https://www.infopathdev.com:443/forums/thread/27907.aspx</comments><wfw:commentRss>https://www.infopathdev.com:443/forums/commentrss.aspx?SectionID=40&amp;PostID=27907</wfw:commentRss><description>&lt;p&gt;ok so, right after posting this message I figured it out.&lt;/p&gt;
&lt;p&gt;changed:&lt;/p&gt;
&lt;p&gt;&lt;font color="#0000ff" size="2"&gt;string&lt;/font&gt;&lt;font size="2"&gt; item = xNavigator.SelectSingleNode(&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&amp;quot;/my:myFields/my:Parts/my:Part/my:PartNumber&amp;quot;&lt;/font&gt;&lt;font size="2"&gt;, &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;this&lt;/font&gt;&lt;font size="2"&gt;.NamespaceManager).InnerXml;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="2"&gt;to&lt;/font&gt;&lt;/p&gt;&lt;font size="2"&gt;
&lt;p&gt;&lt;font color="#0000ff" size="2"&gt;string&lt;/font&gt;&lt;font size="2"&gt; item = xNavigator.SelectSingleNode(&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&amp;quot;my:PartNumber&amp;quot;&lt;/font&gt;&lt;font size="2"&gt;, &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;this&lt;/font&gt;&lt;font size="2"&gt;.NamespaceManager).InnerXml;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="2"&gt;and &lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="2"&gt;xNavigator.SelectSingleNode(&lt;font color="#a31515" size="2"&gt;&amp;quot;/my:myFields/my:Parts/my:Part/my:PartDescription&amp;quot;&lt;/font&gt;&lt;font size="2"&gt;, &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;this&lt;/font&gt;&lt;font size="2"&gt;.NamespaceManager).SetValue(desc);&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="2"&gt;to&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="2"&gt;xNavigator.SelectSingleNode(&lt;font color="#a31515" size="2"&gt;&amp;quot;my:PartDescription&amp;quot;&lt;/font&gt;&lt;font size="2"&gt;, &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;this&lt;/font&gt;&lt;font size="2"&gt;.NamespaceManager).SetValue(desc);&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="2"&gt;&amp;nbsp;All is good.&lt;/font&gt;&lt;font size="2"&gt;&lt;/p&gt;&lt;/font&gt;&lt;/font&gt;</description></item><item><title>Get current value of row fields in a repeating table</title><link>https://www.infopathdev.com:443/forums/thread/27906.aspx</link><pubDate>Fri, 11 Apr 2008 20:10:20 GMT</pubDate><guid isPermaLink="false">033a2e2d-04e2-4a9d-be01-a4634161eefd:27906</guid><dc:creator>Chris Wasser</dc:creator><slash:comments>0</slash:comments><comments>https://www.infopathdev.com:443/forums/thread/27906.aspx</comments><wfw:commentRss>https://www.infopathdev.com:443/forums/commentrss.aspx?SectionID=40&amp;PostID=27906</wfw:commentRss><description>&lt;p&gt;I have built a browser compatible InfoPath 2007 form which has a repeating table to add items.&amp;nbsp; After the user types in an item, I have an after changed event handler that looks up the item number in a database and returns a value.&amp;nbsp; This part all works fine as long as I am on the first row of the repeating table.&amp;nbsp; When I add a new row to the table and attempt the same process, my XPath values are always referencing the first row in the repeating table rather than the current row.&amp;nbsp; I have modelled my code after this article from Microsoft (&lt;a href="http://msdn2.microsoft.com/en-us/library/bb509311.aspx"&gt;http://msdn2.microsoft.com/en-us/library/bb509311.aspx&lt;/a&gt;) and cannot for the life of me figure out how to get the context of the current row.&amp;nbsp; Any thoughts/ideas/solutions would be greatly appreciated.&amp;nbsp; &lt;/p&gt;
&lt;p&gt;-Chris&amp;nbsp;&lt;/p&gt;
&lt;p&gt;C# code follows:&lt;/p&gt;&lt;font color="#0000ff" size="2"&gt;public&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;void&lt;/font&gt;&lt;font size="2"&gt; PartNumber_Changed(&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;object&lt;/font&gt;&lt;font size="2"&gt; sender, &lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;XmlEventArgs&lt;/font&gt;&lt;font size="2"&gt; e)&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; 
&lt;p&gt;{&lt;/p&gt;
&lt;p&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;try&lt;/p&gt;&lt;/font&gt;&lt;font size="2"&gt;
&lt;p&gt;{&lt;/p&gt;
&lt;p&gt;&lt;/font&gt;&lt;font color="#008000" size="2"&gt;// Check if value has changed and not a table insertion&lt;/p&gt;&lt;/font&gt;&lt;font size="2"&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;if&lt;/font&gt;&lt;font size="2"&gt; (e.Operation == &lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;XmlOperation&lt;/font&gt;&lt;font size="2"&gt;.ValueChange)&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; 
&lt;p&gt;{&lt;/font&gt;&lt;font color="#008000" size="2"&gt;&lt;/p&gt;&lt;/font&gt;&lt;font size="2"&gt;
&lt;p&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;string&lt;/font&gt;&lt;font size="2"&gt; connString = (&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&amp;quot;Data Source=x;User Id=y;Password=y;Initial Catalog=a;&amp;quot;&lt;/font&gt;&lt;font size="2"&gt;);&lt;/font&gt;&lt;font color="#008000" size="2"&gt;&lt;/p&gt;&lt;/font&gt;&lt;font size="2"&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;string&lt;/font&gt;&lt;font size="2"&gt; desc = &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;null&lt;/font&gt;&lt;font size="2"&gt;;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; 
&lt;p&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;string&lt;/font&gt;&lt;font size="2"&gt; sql = &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;null&lt;/font&gt;&lt;font size="2"&gt;;&lt;/p&gt;&lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;SqlDataReader&lt;/font&gt;&lt;font size="2"&gt; reader = &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;null&lt;/font&gt;&lt;font size="2"&gt;;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; 
&lt;p&gt;&lt;/font&gt;&lt;font color="#008000" size="2"&gt;// Get Current Row&lt;/p&gt;&lt;/font&gt;&lt;font size="2"&gt;&lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;XPathNavigator&lt;/font&gt;&lt;font size="2"&gt; xNavigator = e.Site.CreateNavigator();&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; 
&lt;p&gt;xNavigator.MoveToParent();&lt;/p&gt;
&lt;p&gt;&lt;/font&gt;&lt;font color="#008000" size="2"&gt;// Get Reference to the part number&lt;/p&gt;&lt;/font&gt;&lt;font size="2"&gt;
&lt;p&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;string&lt;/font&gt;&lt;font size="2"&gt; item = xNavigator.SelectSingleNode(&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&amp;quot;/my:myFields/my:Parts/my:Part/my:PartNumber&amp;quot;&lt;/font&gt;&lt;font size="2"&gt;, &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;this&lt;/font&gt;&lt;font size="2"&gt;.NamespaceManager).InnerXml;&lt;/p&gt;&lt;/font&gt;
&lt;p&gt;&lt;font color="#008000" size="2"&gt;&lt;/p&gt;&lt;/font&gt;&lt;font size="2"&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;using&lt;/font&gt;&lt;font size="2"&gt; (&lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;SqlConnection&lt;/font&gt;&lt;font size="2"&gt; conn = &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;new&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;SqlConnection&lt;/font&gt;&lt;font size="2"&gt;(connString)) 
&lt;p&gt;{&lt;/p&gt;
&lt;p&gt;conn.Open();&lt;/p&gt;sql = &lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&amp;quot;SELECT field1 FROM Table1 WHERE Field2 = &amp;quot;&lt;/font&gt;&lt;font size="2"&gt; + item;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; 
&lt;p&gt;&lt;/font&gt;&lt;font color="#008000" size="2"&gt;// 1. create a command object identifying&lt;/font&gt;&lt;font color="#008000" size="2"&gt; the query&lt;/p&gt;&lt;/font&gt;&lt;font size="2"&gt;&lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;SqlCommand&lt;/font&gt;&lt;font size="2"&gt; cmd = &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;new&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;SqlCommand&lt;/font&gt;&lt;font size="2"&gt;(sql, conn);&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; 
&lt;p&gt;&lt;/font&gt;&lt;font color="#008000" size="2"&gt;// 2. set the command object so it knows&lt;/font&gt;&lt;font color="#008000" size="2"&gt; to execute a query&lt;/p&gt;&lt;/font&gt;&lt;font size="2"&gt;cmd.CommandType = &lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;CommandType&lt;/font&gt;&lt;font size="2"&gt;.Text;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; 
&lt;p&gt;reader = cmd.ExecuteReader();&lt;/font&gt;&lt;font color="#008000" size="2"&gt;&lt;/p&gt;&lt;/font&gt;&lt;font size="2"&gt;&lt;/font&gt;
&lt;p&gt;&lt;font color="#008000" size="2"&gt;&lt;/p&gt;&lt;/font&gt;&lt;font size="2"&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;while&lt;/font&gt;&lt;font size="2"&gt; (reader.Read()) 
&lt;p&gt;{&lt;/p&gt;
&lt;p&gt;&lt;/font&gt;&lt;font color="#008000" size="2"&gt;//Set its value to whatever it needs to be&lt;/p&gt;&lt;/font&gt;&lt;font size="2"&gt;desc = reader[&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&amp;quot;itemdesc&amp;quot;&lt;/font&gt;&lt;font size="2"&gt;].ToString();&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; 
&lt;p&gt;xNavigator.SelectSingleNode(&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&amp;quot;/my:myFields/my:Parts/my:Part/my:PartDescription&amp;quot;&lt;/font&gt;&lt;font size="2"&gt;, &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;this&lt;/font&gt;&lt;font size="2"&gt;.NamespaceManager).SetValue(desc);&lt;/font&gt;&lt;font color="#008000" size="2"&gt;&lt;/p&gt;&lt;/font&gt;&lt;font size="2"&gt;
&lt;p&gt;}&lt;/p&gt;
&lt;p&gt;}&lt;/p&gt;
&lt;p&gt;}&lt;/p&gt;
&lt;p&gt;}&lt;/p&gt;&lt;/font&gt;</description></item></channel></rss>