<?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>Code</title><link>https://www.infopathdev.com:443/forums/45.aspx</link><description /><dc:language>en</dc:language><generator>CommunityServer 2007 SP3 (Build: 31118.962)</generator><item><title>Problems with a code based repeating table in Infopaht 2007</title><link>https://www.infopathdev.com:443/forums/thread/23335.aspx</link><pubDate>Fri, 28 Sep 2007 09:56:49 GMT</pubDate><guid isPermaLink="false">033a2e2d-04e2-4a9d-be01-a4634161eefd:23335</guid><dc:creator>szuppel</dc:creator><slash:comments>0</slash:comments><comments>https://www.infopathdev.com:443/forums/thread/23335.aspx</comments><wfw:commentRss>https://www.infopathdev.com:443/forums/commentrss.aspx?SectionID=45&amp;PostID=23335</wfw:commentRss><description>&lt;p&gt;Hi friends&lt;/p&gt;
&lt;p&gt;&amp;nbsp;I try to programatically use a repeating table in a infopaht form to log State Changes in it. I figured out how to get on the repeating table, but I dont manage to really have it as I like. Always when I ad a child, it changes the first row that I had to clone. I&amp;#39;m using Infopaht 2007 and Visual Studio 2005.&lt;/p&gt;
&lt;p&gt;What I want to do: If someone changes the state of my form, or the state is changed by an event, I would like to write this into a repeating table, to log who has changed from what state to what new state with which event and when. e.g. username, open, closed, 2007-09-26T10:05:23&lt;/p&gt;
&lt;p&gt;I use this c# code to do this:&lt;/p&gt;&lt;font size="2"&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;private&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; AdNewRowToStateHistory(&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;string&lt;/font&gt;&lt;font size="2"&gt; StateChangeEvent, &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;string&lt;/font&gt;&lt;font size="2"&gt; NewState)&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; 
&lt;p&gt;{&lt;/p&gt;&lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;XPathNavigator&lt;/font&gt;&lt;font size="2"&gt; State = MainDataSource.CreateNavigator().SelectSingleNode(&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&amp;quot;//my:txtState&amp;quot;&lt;/font&gt;&lt;font size="2"&gt;, NamespaceManager);&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; 
&lt;p&gt;&lt;/font&gt;&lt;font color="#008000" size="2"&gt;//Repeating Table&lt;/p&gt;&lt;/font&gt;&lt;font size="2"&gt;&lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;XmlNamespaceManager&lt;/font&gt;&lt;font size="2"&gt; nsmgr = NamespaceManager;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; 
&lt;p&gt;&lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;XPathNavigator&lt;/font&gt;&lt;font size="2"&gt; StateHistory = MainDataSource.CreateNavigator().SelectSingleNode(&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&amp;quot;//my:Root/my:StateHistory&amp;quot;&lt;/font&gt;&lt;font size="2"&gt;, nsmgr);&lt;/p&gt;&lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;XPathNavigator&lt;/font&gt;&lt;font size="2"&gt; StateHistoryDetail = MainDataSource.CreateNavigator().SelectSingleNode(&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&amp;quot;//my:Root/my:StateHistory/my:StateHistoryDetail&amp;quot;&lt;/font&gt;&lt;font size="2"&gt;, nsmgr);&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; 
&lt;p&gt;&lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;XPathNavigator&lt;/font&gt;&lt;font size="2"&gt; newNode = StateHistoryDetail.Clone();&lt;/p&gt;newNode.SelectSingleNode(&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&amp;quot;my:rptStateUser&amp;quot;&lt;/font&gt;&lt;font size="2"&gt;,nsmgr).SetValue(System.&lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;Environment&lt;/font&gt;&lt;font size="2"&gt;.UserName);&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; 
&lt;p&gt;newNode.SelectSingleNode(&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&amp;quot;my:rptStateStateOld&amp;quot;&lt;/font&gt;&lt;font size="2"&gt;, nsmgr).SetValue(&lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;Convert&lt;/font&gt;&lt;font size="2"&gt;.ToString(State));&lt;/p&gt;newNode.SelectSingleNode(&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&amp;quot;my:rptStateStateNew&amp;quot;&lt;/font&gt;&lt;font size="2"&gt;, nsmgr).SetValue(NewState);&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; 
&lt;p&gt;newNode.SelectSingleNode(&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&amp;quot;my:rptStateEvent&amp;quot;&lt;/font&gt;&lt;font size="2"&gt;, nsmgr).SetValue(StateChangeEvent);&lt;/p&gt;newNode.SelectSingleNode(&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&amp;quot;my:rptStateTimestamp&amp;quot;&lt;/font&gt;&lt;font size="2"&gt;, nsmgr).SetValue(&lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;DateTime&lt;/font&gt;&lt;font size="2"&gt;.Now.ToString(&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&amp;quot;yyyy.MM.ddThh:mm:ss&amp;quot;&lt;/font&gt;&lt;font size="2"&gt;));&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; 
&lt;p&gt;StateHistory.AppendChild(newNode);&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;State.SetValue(&lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;Convert&lt;/font&gt;&lt;font size="2"&gt;.ToString(NewState));&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; 
&lt;p&gt;}&lt;/p&gt;&lt;/font&gt;</description></item></channel></rss>