Hey gentleman. Greatly appreciate all your help. Works wonderfully
We were able to use a section and a check box (with Conditional Formatting) as a strong visual indicator that something on the form had been marked
More importantly though...
The ridiculous load times have been essentially eliminated by using this paging idea. I set up our form to page through several at a time and by default load with 10. It is loading significantly faster with only 10 lines since (responding to TedCa), yes, we are using RTF boxes and not plaintext. Sadly though these RTF boxes are part of our requirements.
In regards to code, I've added a little bit of stuff past the initial single line as follows
.NET Coded events
public void pageAmount_Changed(object sender, XmlEventArgs e)
{
CreateNavigator().SelectSingleNode("/my:myFields/@my:pageNo", NamespaceManager).SetValue("0");
}
public void PageNext_Clicked(object sender, ClickedEventArgs e)
{
int i;
i = (int)CreateNavigator().SelectSingleNode("/my:myFields/@my:pageNo", NamespaceManager).ValueAsInt;
i--;
CreateNavigator().SelectSingleNode("/my:myFields/@my:pageNo", NamespaceManager).SetValue(i.ToString());
}
public void PagePrev_Clicked(object sender, ClickedEventArgs e)
{
int i;
i = (int)CreateNavigator().SelectSingleNode("/my:myFields/@my:pageNo", NamespaceManager).ValueAsInt;
i++;
CreateNavigator().SelectSingleNode("/my:myFields/@my:pageNo", NamespaceManager).SetValue(i.ToString());
}
Fields, Objects, Attributes, Etc...
pageNo - WholeNumber - Default Value: Expression: 0, Updating
pageMax - Text - Default Value: Expression: max(RepeatingTable\LineNo), Updating
pageAmount - Text
pageUpper - Text - Default Value: Expression: @pageMax - (@pageNo * pageAmount)
pageLower - Text - Default Value: Expression: concat(substring("0", 1, (@pageMax
Note the above was a boolean statement in order to prevent my lower field from being a negative value (stops at zero), I imagine some of you guys have already seen this kind of expression
Form Load Rule:
Always Runs - concat(substring("99999", 1, ((get-Role() = "Role1") or (get-Role() = "Role2") or (get-Role() = "Role3")) * string-length("99999")), substring("10", 1, (not(((get-Role() = "Role1") or (get-Role() = "Role2") or (get-Role() = "Role3")))) * string-length("10")))
Conditional Formatting:
Repeating Table:
if RepeatingTable\LineNo > pageUpper or
if RepeatingTable\LineNo
Hide this Control
Again, thanks for all your help!