<?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>Re: Date Calculation in a Repeating Table</title><link>https://www.infopathdev.com:443/forums/thread/13811.aspx</link><pubDate>Thu, 20 Oct 2005 01:13:18 GMT</pubDate><guid isPermaLink="false">033a2e2d-04e2-4a9d-be01-a4634161eefd:13811</guid><dc:creator>whapakk</dc:creator><slash:comments>0</slash:comments><comments>https://www.infopathdev.com:443/forums/thread/13811.aspx</comments><wfw:commentRss>https://www.infopathdev.com:443/forums/commentrss.aspx?SectionID=45&amp;PostID=13811</wfw:commentRss><description>Nice! Works great, thanks Franck!&lt;br /&gt;&lt;br /&gt;&lt;blockquote id="quote"&gt;&lt;font size="1" face="Verdana, Arial, Helvetica" id="quote"&gt;quote:&lt;hr height="1" noshade id="quote"&gt;Practice makes perfect, but then, nobody's perfect. So, why practice?&lt;hr height="1" noshade id="quote"&gt;&lt;/font id="quote"&gt;&lt;/blockquote id="quote"&gt;</description></item><item><title>Re: Date Calculation in a Repeating Table</title><link>https://www.infopathdev.com:443/forums/thread/13810.aspx</link><pubDate>Mon, 17 Oct 2005 14:22:52 GMT</pubDate><guid isPermaLink="false">033a2e2d-04e2-4a9d-be01-a4634161eefd:13810</guid><dc:creator>franck</dc:creator><slash:comments>0</slash:comments><comments>https://www.infopathdev.com:443/forums/thread/13810.aspx</comments><wfw:commentRss>https://www.infopathdev.com:443/forums/commentrss.aspx?SectionID=45&amp;PostID=13810</wfw:commentRss><description>Sorry, read your post too fast..&lt;br /&gt;&lt;br /&gt;Try in your SyncDifference:&lt;br /&gt;IXMLDOMNode oN = e.Site.selectSingleNode( ".." );&lt;br /&gt;IXMLDOMNode date1Node = oN.selectSingleNode( "my:ResourceStartDate" );&lt;br /&gt;IXMLDOMNode date2Node = oN.selectSingleNode( "my:ResourceReleaseDate" );&lt;br /&gt;IXMLDOMNode diffNode = oN.selectSingleNode( "my:ManDays" );&lt;br /&gt;&lt;br /&gt;Franck Dauché</description></item><item><title>Re: Date Calculation in a Repeating Table</title><link>https://www.infopathdev.com:443/forums/thread/13809.aspx</link><pubDate>Mon, 17 Oct 2005 13:18:49 GMT</pubDate><guid isPermaLink="false">033a2e2d-04e2-4a9d-be01-a4634161eefd:13809</guid><dc:creator>whapakk</dc:creator><slash:comments>0</slash:comments><comments>https://www.infopathdev.com:443/forums/thread/13809.aspx</comments><wfw:commentRss>https://www.infopathdev.com:443/forums/commentrss.aspx?SectionID=45&amp;PostID=13809</wfw:commentRss><description>Hi Franck!&lt;br /&gt;&lt;br /&gt;I already changed my code to what you suggested, but the field still doesn't change. I might be doing something wrong. Here's what I did&lt;br /&gt;&lt;br /&gt;		private void SyncDifference(DataDOMEvent e)&lt;br /&gt;&lt;br /&gt;		{&lt;br /&gt;			IXMLDOMNode date1Node = e.Source.selectSingleNode( "my:ResourceStartDate" );&lt;br /&gt;			IXMLDOMNode date2Node = e.Source.selectSingleNode( "my:ResourceReleaseDate" );&lt;br /&gt;			IXMLDOMNode diffNode  = e.Source.selectSingleNode( "my:ManDays" );&lt;br /&gt;&lt;br /&gt; 			if( date1Node != null &amp;&amp; date2Node != null &amp;&amp; diffNode != null )&lt;br /&gt;			{&lt;br /&gt;				try&lt;br /&gt;				{&lt;br /&gt;					DateTime dt1 = Iso8601ToDate( date1Node.text );&lt;br /&gt;					DateTime dt2 = Iso8601ToDate( date2Node.text );&lt;br /&gt;&lt;br /&gt;					TimeSpan ts = dt2 - dt1;&lt;br /&gt;					diffNode.text = ts.Days.ToString();&lt;br /&gt;				}&lt;br /&gt;				catch( FormatException ) {}&lt;br /&gt;			}&lt;br /&gt;		}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;		private static DateTime Iso8601ToDate( string iso8601Date )&lt;br /&gt;		{&lt;br /&gt;			if( iso8601Date == null )&lt;br /&gt;				throw new ArgumentNullException( "iso8601Date" );&lt;br /&gt;			return DateTime.ParseExact( iso8601Date, "yyyy-MM-dd", null );&lt;br /&gt;		}&lt;br /&gt;		private static string DateToIso8601( DateTime dateTime )&lt;br /&gt;		{&lt;br /&gt;			return dateTime.ToString( "yyyy-MM-dd" );&lt;br /&gt;		}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;		[InfoPathEventHandler(MatchPath="/my:ServiceOrder/my:ResourceRequirementDetails/my:Items/my:ResourceStartDate", EventType=InfoPathEventType.OnAfterChange)]&lt;br /&gt;		public void ResourceStartDate_OnAfterChange(DataDOMEvent e)&lt;br /&gt;		{&lt;br /&gt;			&lt;br /&gt;			if (e.IsUndoRedo)&lt;br /&gt;			{&lt;br /&gt;				return;&lt;br /&gt;				&lt;br /&gt;			}&lt;br /&gt;			SyncDifference(e);&lt;br /&gt;		}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;		[InfoPathEventHandler(MatchPath="/my:ServiceOrder/my:ResourceRequirementDetails/my:Items/my:ResourceReleaseDate", EventType=InfoPathEventType.OnAfterChange)]&lt;br /&gt;		public void ResourceReleaseDate_OnAfterChange(DataDOMEvent e)&lt;br /&gt;		{&lt;br /&gt;			if (e.IsUndoRedo)&lt;br /&gt;			{&lt;br /&gt;				return;&lt;br /&gt;			}&lt;br /&gt;&lt;br /&gt;			SyncDifference(e);&lt;br /&gt;		}&lt;br /&gt;&lt;br /&gt;&lt;blockquote id="quote"&gt;&lt;font size="1" face="Verdana, Arial, Helvetica" id="quote"&gt;quote:&lt;hr height="1" noshade id="quote"&gt;Practice makes perfect, but then, nobody's perfect. So, why practice?&lt;hr height="1" noshade id="quote"&gt;&lt;/font id="quote"&gt;&lt;/blockquote id="quote"&gt;</description></item><item><title>Re: Date Calculation in a Repeating Table</title><link>https://www.infopathdev.com:443/forums/thread/13808.aspx</link><pubDate>Mon, 17 Oct 2005 13:07:38 GMT</pubDate><guid isPermaLink="false">033a2e2d-04e2-4a9d-be01-a4634161eefd:13808</guid><dc:creator>franck</dc:creator><slash:comments>0</slash:comments><comments>https://www.infopathdev.com:443/forums/thread/13808.aspx</comments><wfw:commentRss>https://www.infopathdev.com:443/forums/commentrss.aspx?SectionID=45&amp;PostID=13808</wfw:commentRss><description>Hi,&lt;br /&gt;&lt;br /&gt;For repeating sections, pass you event e to SyncDifference() and to get to date1Node, date2Node and diffNode, use: e.Source.selectSingleNode("my:fieldName");&lt;br /&gt;&lt;br /&gt;Hope that it heps.&lt;br /&gt;&lt;br /&gt;Regards,&lt;br /&gt;&lt;br /&gt;Franck Dauché</description></item><item><title>Date Calculation in a Repeating Table</title><link>https://www.infopathdev.com:443/forums/thread/12630.aspx</link><pubDate>Mon, 17 Oct 2005 12:48:21 GMT</pubDate><guid isPermaLink="false">033a2e2d-04e2-4a9d-be01-a4634161eefd:12630</guid><dc:creator>whapakk</dc:creator><slash:comments>0</slash:comments><comments>https://www.infopathdev.com:443/forums/thread/12630.aspx</comments><wfw:commentRss>https://www.infopathdev.com:443/forums/commentrss.aspx?SectionID=45&amp;PostID=12630</wfw:commentRss><description>Hi, I have a repeating section that has a date picker for the 'Start' and 'End' dates. It also has a field that computes for the difference in days between the two dates. I found an article that shows how to do date calculations at this site,&lt;br /&gt;&lt;br /&gt;&lt;a href='http://blogs.msdn.com/infopath/archive/2005/01/25/360318.aspx' target='_blank' title='http://blogs.msdn.com/infopath/archive/2005/01/25/360318.aspx'&lt;a target="_blank" href=http://blogs.msdn.com/infopath/archive/2005/01/25/360318.aspx&gt;http://blogs.msdn.com/infopath/archive/2005/01/25/360318.aspx&lt;/a&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;It works for fields that are not repeating. But for my repeating table, nothing happens to the 'ManDays' field. Even after trying relative paths. Here's a snippet of my code. Using managed code,&lt;br /&gt;&lt;i&gt;&lt;br /&gt;		// Date calculations for man days&lt;br /&gt;		private static DateTime Iso8601ToDate( string iso8601Date )&lt;br /&gt;		{&lt;br /&gt;			if( iso8601Date == null )&lt;br /&gt;				throw new ArgumentNullException( "iso8601Date" );&lt;br /&gt;			return DateTime.ParseExact( iso8601Date, "yyyy-MM-dd", null );&lt;br /&gt;		}&lt;br /&gt;		private static string DateToIso8601( DateTime dateTime )&lt;br /&gt;		{&lt;br /&gt;			return dateTime.ToString( "yyyy-MM-dd" );&lt;br /&gt;		}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;		[InfoPathEventHandler(MatchPath="/my:ServiceOrder/my:ResourceRequirementDetails/my:Items/my:ResourceStartDate", EventType=InfoPathEventType.OnAfterChange)]&lt;br /&gt;		public void ResourceStartDate_OnAfterChange(DataDOMEvent e)&lt;br /&gt;		{&lt;br /&gt;			&lt;br /&gt;			if (e.IsUndoRedo)&lt;br /&gt;			{&lt;br /&gt;				return;&lt;br /&gt;				&lt;br /&gt;			}&lt;br /&gt;&lt;br /&gt;			SyncDifference();&lt;br /&gt;		}&lt;br /&gt;		&lt;br /&gt;		private void SyncDifference()&lt;br /&gt;&lt;br /&gt;		{&lt;br /&gt;			IXMLDOMNode date1Node = thisXDocument.DOM.selectSingleNode( "../my:ResourceStartDate" );&lt;br /&gt;			IXMLDOMNode date2Node = thisXDocument.DOM.selectSingleNode( "../my:ResourceReleaseDate" );&lt;br /&gt;			IXMLDOMNode diffNode  = thisXDocument.DOM.selectSingleNode( "../my:ManDays" );&lt;br /&gt;&lt;br /&gt; 			if( date1Node != null &amp;&amp; date2Node != null &amp;&amp; diffNode != null )&lt;br /&gt;			{&lt;br /&gt;				try&lt;br /&gt;				{&lt;br /&gt;					DateTime dt1 = Iso8601ToDate( date1Node.text );&lt;br /&gt;					DateTime dt2 = Iso8601ToDate( date2Node.text );&lt;br /&gt;&lt;br /&gt;					TimeSpan ts = dt2 - dt1;&lt;br /&gt;					diffNode.text = ts.Days.ToString();&lt;br /&gt;				}&lt;br /&gt;				catch( FormatException ) {}&lt;br /&gt;			}&lt;br /&gt;		}&lt;br /&gt;&lt;br /&gt;		// The following function handler is created by Microsoft Office InfoPath. Do not&lt;br /&gt;		// modify the type or number of arguments.&lt;br /&gt;		[InfoPathEventHandler(MatchPath="/my:ServiceOrder/my:ResourceRequirementDetails/my:Items/my:ResourceReleaseDate", EventType=InfoPathEventType.OnAfterChange)]&lt;br /&gt;		public void ResourceReleaseDate_OnAfterChange(DataDOMEvent e)&lt;br /&gt;		{&lt;br /&gt;			if (e.IsUndoRedo)&lt;br /&gt;			{&lt;br /&gt;				return;&lt;br /&gt;			}&lt;br /&gt;&lt;br /&gt;			SyncDifference();&lt;br /&gt;		}&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;I also tried "../FieldName" and "//FieldName" but it doesn't work also.&lt;br /&gt;Thanks.&lt;br /&gt;&lt;br /&gt;&lt;blockquote id="quote"&gt;&lt;font size="1" face="Verdana, Arial, Helvetica" id="quote"&gt;quote:&lt;hr height="1" noshade id="quote"&gt;Practice makes perfect, but then, nobody's perfect. So, why practice?&lt;hr height="1" noshade id="quote"&gt;&lt;/font id="quote"&gt;&lt;/blockquote id="quote"&gt;</description></item></channel></rss>