subtotal table that has user defined categories


i have table need subtotal user defined values. entries can format - although of form a12345(e.g.) - , there can multiple entries of same value. came javascript builds array, filters unique values, compares 2 , subtotals results in second table. script triggers on exiting tmark , estimated volume fields of form.uniquesortstatictable_loop.jpg

 

 

//function find unique values in given array

    var unique = function(origarray) {

    var newarray = [],

    origlen = origarray.length,

    found,

    x, y;

    

    ( x = 0; x < origlen; x++ ) {

    found = undefined;

    ( y = 0; y < newarray.length; y++ ) {

    if ( origarray[x] === newarray[y] ) {

    found = true;

    break;

    }

    }

    if ( !found) newarray.push( origarray[x] );

    }

    return newarray;

    }

    

 

//use find unique function set values original array , same array filtered unique values

var tmarkarray = []

var uniqarray = [];

 

for (var i=0; < 4; i++) {

    var mark = xfa.resolvenode("form1.page1.table.row[" + + "].tmark").rawvalue;   

    uniqarray.push(mark);

    tmarkarray.push(mark);

    }

 

    uniqarray = unique(uniqarray);

       

 

//get array of estimated volume values first table

var namount = []

 

for (var i=0; < 4; i++) {

    var estvol = xfa.resolvenode("form1.page1.table.row[" + + "].estvol").rawvalue;   

    namount.push(estvol);

    }

 

//clear values in second table allow recalculation

for (var i=0; i<tmarkarray.length; i++)

{   

xfa.resolvenode("form1.page1.table1.row[" + + "].cell1").rawvalue = null;

xfa.resolvenode("form1.page1.table1.row[" + + "].cell2").rawvalue = null;   

xfa.resolvenode("form1.page1.table1.row[" + + "].cell3").rawvalue = null;   

}

 

 

//loop through first table , fill second table subtotalled amounts.

for (var i=0; i<tmarkarray.length; i++)

{   

for (var a=0; < 4; a++) {

    if (tmarkarray[i] == uniqarray[a])    {

        if  (xfa.resolvenode("form1.page1.table1.row["+ +"].cell3").rawvalue != null){

       

                xfa.resolvenode("form1.page1.table1.row["+ +"].cell1").rawvalue = tmarkarray[i];

                xfa.resolvenode("form1.page1.table1.row["+ +"].cell3").rawvalue = xfa.resolvenode("form1.page1.table1.row["+ +"].cell3").rawvalue + namount[i];

            }

        else {

                xfa.resolvenode("form1.page1.table1.row["+ +"].cell1").rawvalue = tmarkarray[i];

                xfa.resolvenode("form1.page1.table1.row["+ +"].cell3").rawvalue = namount[i];

            }

        }

        }

}

 

 

the script works, don't think elegant , works on static table. able use on dynamic tables.



More discussions in LiveCycle Designer


adobe

Comments

Popular posts from this blog

How to change text Component easybook reloaded *newbee* - Joomla! Forum - community, help and support

After Effect warning: A problem occurred when processing OpenGL commands

Preconditions Failed. - Joomla! Forum - community, help and support