By default, the data for this field is stored in the structured XML (Extensible Markup Language) format. However, you also have the option to instead use this field as a presentation layer for lists of sub-activity records. For example, you may use this field on a UTA Level 1 record to display any associated UTA Level 2 records for a user to easily update the activities or create new activities.
If you are looking to create a basic list or budget, you can also use the field called '''[[Custom Field Type: Special - In-Line Basic Data GridTable|Special - In-Line Basic Data GridTable]].'''
{| class="wikitable"
{{Show Clear Button}}
{{Display fields refreshed upon edit}}
{{Custom Field Ids}}
So if you wanted to add the values of row 1 and 2 together in column 1 you would enter '''=[1,1]+[2,1]'''.
To minimize divide by zero errors, you can first check if the denominator is 0 (and set value to 0) by using the following syntax:
<pre>=(ssParseNum([1,3])==0 ? 0 : ([1,2]/[1,3])*100)</pre>
==Adding a formula to a cell (working with data in the different sections)==
e.g. '''=[@section.''expense''.id@_''Total_Amount'']-[@section.''income''.id@_''Existing-funds''_''Amount'']'''
If you need want to display data in the head of a section (row 0) from another section you can use the following:
'''@xml.customfieldname.sectionnodename.rownodename.columnnodename@'''
==Validate values when saving the worksheet==
<pre>parseInt([this])>0</pre>
Message: Please provide a numeric value greater than 0.
The following function allows you to check for an already selected value from an existing row when using dynamic rows on multiple sections:
<pre>var saveFunc=saveXML;
saveXML=function() {
if (checkdupeval_Section1() == 0 && checkdupeval_Section2() == 0 && checkdupeval_Section3() == 0) {
return result;
}
</pre>
The following allows you to hide the Add Row button for a specific section when the record is in a specific status:
<pre>function onloadfunc() {
<!--@sslogic("@statusid@" = "XXXXX" )--> //Replace XXXXX with the ID of the status in which the button should be hidden
$('#addrowbutton_@section.SECTION.id@').hide(); //Replace SECTION with the section name
<!--@end-->
}
</pre>
The following allows you to hide the Delete Row button:
<pre>function onloadfunc() {
$("a[name='@section.SECTION.id@_deletebutton']").remove(); //Replace SECTION with the section name
}
</pre>
<pre><!--@sscalculation(format("@xml.fieldname.sectionnodename.rownodename.columnodename.nodevalue@",2))--></pre>
* Extract a filtered row count from a '''dynamic''' XML section.
<pre><!--@sscalculation(@xml.XML Field.People.Person[#(?criteria="~type.nodevalue~" == "A") 1+#]@ 0)--></pre>
* Extract a percentage value and '''format with two decimal places'''. If pulled from a '''dynamic''' XML section then you will see multiple values.
* Return a single value in the total row of a Dynamic XML.
<pre>@xml.fieldname.sectionnodename.rownodename.total.columnnodename.nodevalue@</pre>
==Styling Advanced Data Table for web, print and conversion to PDF==
# Add your desired variable example '''@xml.Budget.Expenses.html@''' inside the div with the '''class="xml8col"'''.
# Change the '''8''' in '''class="xml8col"''' to the number of columns in your section. Note you must have 8 or less columns.
# If you want this table to be displayed wider for landscape printing add the word '''landscape''' in the class example '''class="xml8col landscape"'''.
# Save your custom field