<?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>General</title><link>https://www.infopathdev.com:443/forums/41.aspx</link><description>If you're not sure where to ask your question, ask it here. If necessary, our moderators will make sure it gets classified in the correct board.</description><dc:language>en</dc:language><generator>CommunityServer 2007 SP3 (Build: 31118.962)</generator><item><title>Re: Performance Issues</title><link>https://www.infopathdev.com:443/forums/thread/7953.aspx</link><pubDate>Tue, 18 Oct 2005 15:12:38 GMT</pubDate><guid isPermaLink="false">033a2e2d-04e2-4a9d-be01-a4634161eefd:7953</guid><dc:creator>Mochi</dc:creator><slash:comments>0</slash:comments><comments>https://www.infopathdev.com:443/forums/thread/7953.aspx</comments><wfw:commentRss>https://www.infopathdev.com:443/forums/commentrss.aspx?SectionID=41&amp;PostID=7953</wfw:commentRss><description>Thanks for the suggestion!</description></item><item><title>Re: Performance Issues</title><link>https://www.infopathdev.com:443/forums/thread/7952.aspx</link><pubDate>Mon, 17 Oct 2005 05:14:49 GMT</pubDate><guid isPermaLink="false">033a2e2d-04e2-4a9d-be01-a4634161eefd:7952</guid><dc:creator>franck</dc:creator><slash:comments>0</slash:comments><comments>https://www.infopathdev.com:443/forums/thread/7952.aspx</comments><wfw:commentRss>https://www.infopathdev.com:443/forums/commentrss.aspx?SectionID=41&amp;PostID=7952</wfw:commentRss><description>Hi,&lt;br /&gt;&lt;br /&gt;You are working with a secondary data source, right?  So, why don't you add a field (field4) to your SQL Query, Web Service which is:&lt;br /&gt;field1 lenght * field2 lenght * field3 lenght&lt;br /&gt;just check if the field4 = 0.&lt;br /&gt;(In any case, Length = 0 is better than .text = "")&lt;br /&gt;&lt;br /&gt;Hope that it helps.&lt;br /&gt;&lt;br /&gt;Franck Dauché&lt;br /&gt;</description></item><item><title>Re: Performance Issues</title><link>https://www.infopathdev.com:443/forums/thread/7951.aspx</link><pubDate>Fri, 14 Oct 2005 17:22:13 GMT</pubDate><guid isPermaLink="false">033a2e2d-04e2-4a9d-be01-a4634161eefd:7951</guid><dc:creator>Mochi</dc:creator><slash:comments>0</slash:comments><comments>https://www.infopathdev.com:443/forums/thread/7951.aspx</comments><wfw:commentRss>https://www.infopathdev.com:443/forums/commentrss.aspx?SectionID=41&amp;PostID=7951</wfw:commentRss><description>&lt;font size="1"&gt;&lt;font face="Arial"&gt;Hi Frank,&lt;br /&gt;Thanks so much...that makes a lot more sense to me now.  I have one of my events posted below.  Basically, I have 3 fields to accept the length, width, and depth for a given item.  Based on these three values, I call a function to get the price category that they belong to.  The code I posted in my earlier post (If Not (e.Site Is e.Source.parentNode)) was to prevent the event from firing when querying/returning data.  I guess combining the events would be helpful so I wouldn't have to check if the length, width, and depth were null for each of the length, width, and depth change events.  Even without any code/rules/formatting, the query for 1600 records still takes about 30 seconds.  Is there anything you can think of to reduce this time?  &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;        &amp;lt;InfoPathEventHandler(MatchPath:="/dfs:myFields/dfs:dataFields/d:VMICrossRef/@Width", EventType:=InfoPathEventType.OnAfterChange)&amp;gt; _&lt;br /&gt;        Public Sub VMICrossRef_Width_attr_OnAfterChange(ByVal e As DataDOMEvent)&lt;br /&gt;            ' Write code here to restore the global state.&lt;br /&gt;&lt;br /&gt;            If (e.IsUndoRedo) Then&lt;br /&gt;                ' An undo or redo operation has occurred and the DOM is read-only.&lt;br /&gt;                Return&lt;br /&gt;            End If&lt;br /&gt;&lt;br /&gt;            ' A field change has occurred and the DOM is writable. Write code here to respond&lt;br /&gt;            ' to the changes.&lt;br /&gt;            If Not (e.Site Is e.Source.parentNode) Then&lt;br /&gt;                Return&lt;br /&gt;            End If&lt;br /&gt;&lt;br /&gt;            If (e.Operation = "Delete") Then&lt;br /&gt;                Return&lt;br /&gt;            End If&lt;br /&gt;            If (e.Site.selectSingleNode("../@Length").text = "") Then&lt;br /&gt;                Return&lt;br /&gt;            End If&lt;br /&gt;            If (e.Site.selectSingleNode("../@Width").text = "") Then&lt;br /&gt;                Return&lt;br /&gt;            End If&lt;br /&gt;            If (e.Site.selectSingleNode("../@Depth").text = "") Then&lt;br /&gt;                Return&lt;br /&gt;            End If&lt;br /&gt;&lt;br /&gt;            GetPriceCategory(e)&lt;br /&gt;&lt;br /&gt;        End Sub  &lt;/font id="Arial"&gt;&lt;/font id="size1"&gt;</description></item><item><title>Re: Performance Issues</title><link>https://www.infopathdev.com:443/forums/thread/7950.aspx</link><pubDate>Thu, 13 Oct 2005 23:39:25 GMT</pubDate><guid isPermaLink="false">033a2e2d-04e2-4a9d-be01-a4634161eefd:7950</guid><dc:creator>franck</dc:creator><slash:comments>0</slash:comments><comments>https://www.infopathdev.com:443/forums/thread/7950.aspx</comments><wfw:commentRss>https://www.infopathdev.com:443/forums/commentrss.aspx?SectionID=41&amp;PostID=7950</wfw:commentRss><description>Hi,&lt;br /&gt;&lt;br /&gt;What he means is that if you have a node (field1) in your schema, you can have an Event handler associated with it:&lt;br /&gt;[InfoPathEventHandler(MatchPath="/my:myRoot/.../my:field1", EventType=InfoPathEventType.OnAfterChange)]&lt;br /&gt;public void field1_OnAfterChange(DataDOMEvent e)&lt;br /&gt;{&lt;br /&gt;  // Write code here to restore the global state.&lt;br /&gt;  if (e.IsUndoRedo)&lt;br /&gt;  {&lt;br /&gt;    // An undo or redo operation has occurred and the DOM is read-only.&lt;br /&gt;    return;&lt;br /&gt;  }&lt;br /&gt;  // A field change has occurred and the DOM is writable. Write code here to respond&lt;br /&gt;  // to the changes.		&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;Now, if you have handlers behind a lot of fields, the performance of your form is going down fast.&lt;br /&gt;Instead, you may have a single OnAfterChange for the entire DOM:&lt;br /&gt;[InfoPathEventHandler(MatchPath="/my:Root", EventType=InfoPathEventType.OnAfterChange)]&lt;br /&gt;public void OnAfterChange(DataDOMEvent e)&lt;br /&gt;{&lt;br /&gt;  //Do something there.&lt;br /&gt;}&lt;br /&gt;In there, you want to filter for the nodes you are insterested in, and write the business logic you want.&lt;br /&gt;Basically, if you do the same for the OnBeforeChange event, you end up with "2 global event handlers".&lt;br /&gt;&lt;br /&gt;Now, what are you trying to achieve with the code that you posted?  Whatever it is, I can tell you there is another way to do it.  Please tell me more...&lt;br /&gt;&lt;br /&gt;Regards,&lt;br /&gt;&lt;br /&gt;Franck Dauché</description></item><item><title>Re: Performance Issues</title><link>https://www.infopathdev.com:443/forums/thread/7949.aspx</link><pubDate>Thu, 13 Oct 2005 19:01:37 GMT</pubDate><guid isPermaLink="false">033a2e2d-04e2-4a9d-be01-a4634161eefd:7949</guid><dc:creator>Mochi</dc:creator><slash:comments>0</slash:comments><comments>https://www.infopathdev.com:443/forums/thread/7949.aspx</comments><wfw:commentRss>https://www.infopathdev.com:443/forums/commentrss.aspx?SectionID=41&amp;PostID=7949</wfw:commentRss><description>Hi,&lt;br /&gt;Thanks for the help, though I am still at a loss.  I do not have any rules or conditional formatting in my form.  I took out the data validation, based on the post regarding the XSF being slow.  I have about 12 columns, on which 5 have onchange events.  When I am querying for the data, it does hit the onchange event for each row, which might be the reason it is taking so long.  In each, I have the following statement:&lt;br /&gt;&lt;br /&gt;If (e.Site is e.Source.ParentNode) then&lt;br /&gt;  Return&lt;br /&gt;End If&lt;br /&gt;&lt;br /&gt;I read the following post but I'm not sure that I understand how to do this:&lt;br /&gt;"We reduced the xml event handlers to 2 global event handlers on the base DOM node, one will fire before the content is edited, and another will fire after the contents are edited."&lt;br /&gt;&lt;br /&gt;I don't know if this is the source of my problem.  It seems like a lot of workaround for such a simple form.&lt;br /&gt;&lt;br /&gt;Mochi&lt;br /&gt;</description></item><item><title>Re: Performance Issues</title><link>https://www.infopathdev.com:443/forums/thread/7948.aspx</link><pubDate>Thu, 13 Oct 2005 17:38:12 GMT</pubDate><guid isPermaLink="false">033a2e2d-04e2-4a9d-be01-a4634161eefd:7948</guid><dc:creator>franck</dc:creator><slash:comments>0</slash:comments><comments>https://www.infopathdev.com:443/forums/thread/7948.aspx</comments><wfw:commentRss>https://www.infopathdev.com:443/forums/commentrss.aspx?SectionID=41&amp;PostID=7948</wfw:commentRss><description>Hi,&lt;br /&gt;&lt;br /&gt;Look at this, it should help:&lt;br /&lt;a target="_blank" href=http://msdn.microsoft.com/newsgroups/default.aspx?query=InfoPath+Performance+Issue&amp;dg=microsoft.public.infopath&amp;cat=en-us-msdn-officedev-infopath&amp;lang=en&amp;cr=US&amp;pt=6E98618B-8F9E-4724-8A45-96C336E31A25&amp;catlist=B7714BAA-0D60-40B0-A226-8B9CF33299A5%2C774F24A2-F71F-425F-AC2B-DC48AB0DA5C9&amp;dglist=&amp;ptlist=&amp;exp=&amp;sloc=en-us&gt;http://msdn.microsoft.com/newsgroups/default.aspx?query=InfoPath+Performance+Issue&amp;dg=microsoft.public.infopath&amp;cat=en-us-msdn-officedev-infopath&amp;lang=en&amp;cr=US&amp;pt=6E98618B-8F9E-4724-8A45-96C336E31A25&amp;catlist=B7714BAA-0D60-40B0-A226-8B9CF33299A5%2C774F24A2-F71F-425F-AC2B-DC48AB0DA5C9&amp;dglist=&amp;ptlist=&amp;exp=&amp;sloc=en-us&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Regards,&lt;br /&gt;&lt;br /&gt;Franck Dauché</description></item><item><title>Performance Issues</title><link>https://www.infopathdev.com:443/forums/thread/5000.aspx</link><pubDate>Thu, 13 Oct 2005 16:46:10 GMT</pubDate><guid isPermaLink="false">033a2e2d-04e2-4a9d-be01-a4634161eefd:5000</guid><dc:creator>Mochi</dc:creator><slash:comments>0</slash:comments><comments>https://www.infopathdev.com:443/forums/thread/5000.aspx</comments><wfw:commentRss>https://www.infopathdev.com:443/forums/commentrss.aspx?SectionID=41&amp;PostID=5000</wfw:commentRss><description>Hi,&lt;br /&gt;&lt;br /&gt;I have a very basic form that retrieves data from a SQL database using the built-in data connection.  It is taking about 2 minutes to render 1600 records on the form.  I have read that InfoPath does not handle this well.  I tried to use the paging method, which took the time down to about 35 seconds.  Are there some basic things that I can do to help resolve this issue?  I'm still relatively new to InfoPath and need some major help.  My client is waiting for this form and I don't want to deliver a slow form.  Also, does anyone know where I can find the InfoPath: Best Practices for Building Enterprise Solutions ppt that talks about Performance tips/tricks?  Thanks!&lt;br /&gt;&lt;br /&gt;Mochi</description></item></channel></rss>