199 Lotus blogs updated hourly. Who will post next? Home | Blogs | Search | About 
 
Latest 7 Posts
HTML5 Canvas to PNG via RPC
Tue, Jun 21st 2016 7
Eternal fustrations with IBM "Help" - - this time trying to give them money
Mon, May 23rd 2016 4
Simple Example: Bootstrap
Tue, May 3rd 2016 8
Import CSVs into a Notes/XPage database
Thu, Mar 24th 2016 6
REST via Service Bean
Tue, Feb 16th 2016 7
Reversing the display order of a Multi-value field (XPages)
Wed, Jan 13th 2016 5
nhttp preview won't "switch ID"
Mon, Dec 7th 2015 6
Top 10
dataTable with Categories
Tue, Jul 14th 2015 12
Simple Example: Bootstrap
Tue, May 3rd 2016 8
ComboBox - Validate so default value is not selected
Wed, Jul 1st 2015 7
REST via Service Bean
Tue, Feb 16th 2016 7
HTML5 Canvas to PNG via RPC
Tue, Jun 21st 2016 7
StartKeys for categorized viewPanel and number column
Sat, Jul 4th 2015 6
nhttp preview won't "switch ID"
Mon, Dec 7th 2015 6
Import CSVs into a Notes/XPage database
Thu, Mar 24th 2016 6
Reversing the display order of a Multi-value field (XPages)
Wed, Jan 13th 2016 5
Populate an InputText Date field (that has a calendar picker)
Fri, Jun 26th 2015 4


Reversing the display order of a Multi-value field (XPages)
Twitter Google+ Facebook LinkedIn Addthis Email Gmail Flipboard Reddit Tumblr WhatsApp StumbleUpon Yammer Evernote Delicious
   

Today I needed to reverse the display of a multi-value field. It's a log of actions and we needed to show the most recent on top rather then the first added. JavaScript arrays have a reverse() function but when I took the vector I got back it was coming in as an object not an array. I didn't want to spend more time on it, so I decided to reverse the elements in the vector.  I'm showing the results in a repeat.

So what I decided to do was reverse the vector. Below is my code to do it. It takes one vector and puts all the elements into a new vector and returns that:

  var iVector = new java.util.Vector();
    iVector = SSJSgetItemValueSet(doc, "lastresult", iVector);
    var oVector = new java.util.Vector();
    for(var nV=(iVector.size()-1); nV >= 0; nV--){
        oVector.addElement(iVector.elementAt(nV));
    } 

return oVector;
 
SSJSgetItemValueSet is a function I have in a library to assure that I get a vector from a NotesItem. Here is that function:

   function SSJSgetItemValueSet(iDoc:NotesDocument, iItemName:String, iVector:java.util.Vector) {
    //this is designed to see if there is any value in the field, and if so, to get all of it.
    //if there is only one value, still put it in a vector
    //if null, put null in as the value
    //java.util.Vector.size() is the # of elements in the vector
    //call as: iVector = SSJSgetItemValueSet(nDoc, approvedField, iVector);
    //this overloaded method is for when we want to do this from an XPage, and we can't pass a Notes object (like a Doc) into a bean,
    iVector = null; // always set to null
        try {
            if (iDoc.hasItem(iItemName)) {               
                var iItem:NotesItem = iDoc.getFirstItem(iItemName);
                var passObj = getValueAsVector(iItem.getValues());
                iVector = passObj;
            } else {
                iVector = null;
            }
        } catch (e) {
            e.toString();
        }   
    return iVector;
}
Hopefully this will be useful for someone.

Cheers,
Brian




---------------------
http://dominoherald.blogspot.com/2016/01/reversing-display-order-of-multi-value.html
Jan 13, 2016
6 hits



Recent Blog Posts




Created and Maintained by Yancy Lent - About - Planet Lotus Blog - Advertising - Mobile Edition