Home | Contact Us | FAQ | Search & Site Map | Link to Us
Sign In | Join | Other 45 Sites in Network
Home
DiscussionsAccessExcelInfoPathOutlookPowerPointPublisherWord
DirectoryUser Groups
Related Topics
Outlook ExpressInternet ExplorerWindowsMS Server ProductsMore Topics ...

MS Office Forum / General MS InfoPath Questions / March 2008

Tip: Looking for answers? Try searching our database.

manual update

Thread view: 
Enable EMail Alerts  Start New Thread
Thread rating: 
Fred - 28 Mar 2008 19:03 GMT
I have a big form with lots of formula, the form is getting very slow
when use entering data, because the data change cascade to other
elements by formula. I find that there is option in default value ,
"update this value when the result of the formula is recalculated". By
default this is enabled, I think want to disable it to reduce
automatic cascading change. My question is if I disable this check
box, how do I manually update the node by using the formular in the
default value box.?

Thanks
Clay Fox - 28 Mar 2008 19:49 GMT
Hi Fred.

The amount of data, the number of views, the number of controls, and how the
data is managed - can all impact performance.
You can use rule actions to set field values rather than having them default
and this might improve your perofrmance depending on the form layout and data
structure. You would need to trigger an update via an action on another field
or via a button, but then you have to set each field individually.

Often good form design and architecture can make a huge difference in form
performance.
If you need professional help with this let me know.
Signature

Clay Fox / Microsoft InfoPath MVP
www.InfoPathDev.com / The InfoPath Authority / Downloads, Samples, How-To,
Experts, Forum

> I have a big form with lots of formula, the form is getting very slow
> when use entering data, because the data change cascade to other
[quoted text clipped - 6 lines]
>
> Thanks
Fred - 31 Mar 2008 15:40 GMT
Thanks for your reply, but the rule actions bascially is the same as
default(formular), because it cascades the changes to other elements.
My goal is try to reduce the automatic cascade of change, but I still
want to leverage power of the fomula. Now I have simplified example,
Suppose I have p1 and p2 element, so I can set p3's default value to
p3=p1 + p2, this can be done using xpath expression. Now I disable the
automatic update of p3, even when p1, p2 change, and I add a button to
form with event handler, its job is update p3 with p1 + p2. In the
event handler, I can write some code like these,

double p1 =
this.MainDataSource.CreateNavigator().SelectSingleNode("p1",
this.NamespaceManager).ValueAsDouble;
double p2 =
this.MainDataSource.CreateNavigator().SelectSingleNode("p2",
this.NamespaceManager).ValueAsDouble;
this.MainDataSource.CreateNavigator().SelectSingleNode("p3",
this.NamespaceManager).SetTypedValue(p1 + p2);

this works, be it lacks the simplicity of xpath, for this simplified
example, this is not a problem, but if formular is more complicated,
the code will be messy.
my goal is write some pseudo code below

double result =
this.MainDataSource.CreateNavigator().SelectSingleNode("p1 + p2",
this.NamespaceManager).ValueAsDouble;
this.MainDataSource.CreateNavigator().SelectSingleNode("p3",
this.NamespaceManager).SetTypedValue(result);

I know it doesn't work, because it is pseudo :),  but is there any
solution that implement my idea?
Fred

On Mar 28, 2:49 pm, Clay Fox <Clay...@discussions.microsoft.com>
wrote:
> Hi Fred.
>
[quoted text clipped - 22 lines]
>
> > Thanks
 
Sign In
Join
My Latest Posts
My Monitored Threads
My Blog
My Photo Gallery
My Profile
My Homepage

Start New Thread
Enable EMail Alerts
Rate this Thread



©2008 Advenet LLC   Privacy Policy - Terms of Use
This website includes both content owned or controlled by Advenet as well as content owned or controlled by third parties.