197 Lotus blogs updated hourly. Who will post next? Home | Blogs | Search | About 
 
Latest 7 Posts
Appending MIME item to NotesRichTextItem
Mon, Aug 7th 2017 3
Strange decision within IBM Verse update for June of 2017 on Android devices
Mon, Jun 12th 2017 7
The application requires com.ibm.xsp.extlibx.library. This library cannot be found.
Wed, May 24th 2017 5
Great news about BM Notes/Domino 9.0.1 Feature Pack 8
Fri, Jan 27th 2017 5
How to set Workspace as default homepage in IBM Notes client
Wed, Oct 26th 2016 15
Avoid processing items as both NotesItem and NotesMIMEEntity objects concurrently.
Thu, Jul 21st 2016 7
Third level in "Application links" section of Xpages Application Layout, WTF?
Sat, Jul 16th 2016 4
Top 10
How to set Workspace as default homepage in IBM Notes client
Wed, Oct 26th 2016 15
How to focus Lotus Notes window (standard version)
Wed, Dec 17th 2014 12
No such session or session has been closed
Sun, Nov 2nd 2014 12
If you can't remove lotus notes database icon from workspace
Wed, Sep 10th 2014 8
Corrupted unread list in Mail database caused "This database cannot be read due to an invalid on disk structure"
Thu, Jul 17th 2014 8
IBM Lotus Notes and Ctrl+Break on new laptops without button "Pause/Break" on keyboard. Is it familiar to you? :-)
Thu, May 29th 2014 8
NotesItem.Type = 256 causes "Variant does not contain a container"
Sat, Jul 26th 2014 7
NotesAgent.Runwithdocumentcontext() - cool thing
Thu, May 29th 2014 7
@Text(value; "*") - undocumented parameter "*" for @Text() function
Sun, Mar 23rd 2014 7
Be care with @Domain part when you deal with user names
Tue, Sep 1st 2015 7


How to implement "Totals" with Data View control
Twitter Google+ Facebook LinkedIn Addthis Email Gmail Flipboard Reddit Tumblr WhatsApp StumbleUpon Yammer Evernote Delicious
   

Hi

Earlier I posted a question about how to implement totals with Data View control.
Thank's everyone for help.
Eventually I managed to do it and now I see that it was a shame to ask for help :-), too easy....

So, let me show you how I did it

1) Let's imagine we have a "Test" form with three fields "a", "b" and "c".

2) Then we create a simple Notes View with three categorized columns, which categorized columns for "a", "b" and "c" correspondingly. Important condition: each nested category column should contain a value of a parent category via some specific separator. I chose "###" as a separator.
You can use also this trick to make it working faster.
So, eventually we get something like this:
(just for clarification: the first document in the view has fields [a]="aaa", [b]="bbb" and [c]="ccc")

The first column with totals serves just for making the demo easier - I do not use it with Xpages so you may not create it.


3) Now let's create XPage with Data View, define data source and define three categorized columns there. Here is a code of categorized column "value" property:

getCategoryValueAndCount(this, viewEntry, 3)

Parameters description:
this - data source
viewEntry - variable name of a data row 
3 - column 's position in the Notes view


4) Here is SSJS function that does my magic:

function getCategoryValueAndCount(dataView, viewEntry, colIndex) {
try {

var vc:com.ibm.xsp.extlib.component.data.UIDataView = dataView;
var vcds:com.ibm.xsp.model.domino.DominoViewData = vc.getData();
var viewName =  vcds.getViewName();
var ve:NotesViewEntry = viewEntry;
var veColumns = ve.getColumnValues();
var categoryValue = veColumns.elementAt(colIndex);
var categoryValueToDisplay = @RightBack("###" + categoryValue, "###");
var db:NotesDatabase = null;
if (vcds.getDatabaseName()) {
db = session.getDatabase(@Left(vcds.getDatabaseName(), "!!"), @Right(vcds.getDatabaseName(), "!!"))
}
else {
db = database;
}
var view:NotesView = db.getView(viewName);
var allCategories = categoryValue.split("###");
var allCategoriesKey = "";
for (i = 0; i < allCategories.length; i++) {
if (i == 0) {
allCategoriesKey = allCategories[i];
} else {
allCategoriesKey = allCategoriesKey + "\" + @Subset(allCategories, i + 1).join("###");
}
}
var nav:NotesViewNavigator = view.createViewNavFromCategory(allCategoriesKey);
var counter = 0;
var nve = nav.getFirst();
while (nve) {
if (nve.isDocument()) {
counter = counter + 1;
}
nve = nav.getNext(nve);
}

return categoryValueToDisplay + " (" + counter.toString() + ")" 

} catch(e) { 
             //error handler
}
}

Here is what I see after all.


The nice thing about such solution is that the totals are real, they take into account READERS fields, so the user sees a number of documents which he/she really has access to.

--------------------------------------------------------

Some good guy suggested me to try CategoryRow facet from DataView control to implement the totals. Unfortunately it didn't work for me: facet keys "categoryRow1", "categoryRow2" and so on didn't work for me, only "categoryRow" worked - however I could do something wrong so may be it is still an alternative option. Thank you everyone for help anyways.

---------------------
http://ypastov.blogspot.com/2015/09/how-to-implement-total-columns-with.html
Sep 11, 2015
7 hits



Recent Blog Posts
3
Appending MIME item to NotesRichTextItem
Mon, Aug 7th 2017 1:59p   Yuriy Pastovenskyy
Hi guys May be this will save someone's day. The story: Some external UI posts HTML-data to Notes. That HTML has to be added to NotesRichtextItem. 1) When I tested simple case manually all worked OK: 1.1) Here is my Notes form 1.2) I put some data in Notes document and save it 1.3) Then I run an agent over this document with code like Sub Initialize Dim s As New NotesSession Dim doc As NotesDocument Dim rt1 As NotesRichTextItem Dim rt2 As NotesRichTextItem Set doc = s.Documentconte
7
Strange decision within IBM Verse update for June of 2017 on Android devices
Mon, Jun 12th 2017 3:41p   Yuriy Pastovenskyy
Hi IBM released a new update for IBM Verse in June 2017 - here is a link to "what's new". There is a new feature for Android about: Verse for Android: Certificate-based authentication However I don't think the way it works is correct. See my story below... Accordingly to documentation there are three authentication options supported by IBM Verse on Android devices: Traditional username/passwordCertificate-only authenticationCertificate and username/passwordOne of my customers had a foll
5
The application requires com.ibm.xsp.extlibx.library. This library cannot be found.
Wed, May 24th 2017 5:26p   Yuriy Pastovenskyy
Hi I want to share one strange thing that happened to me today. I have reinstalled IBM Notes 9.01 but did it a bit unusually: 1) I uninstalled IBM Notes and cleaned up all files and folders which usually stay after uninstallation. 2) Then I installed IBM Notes 9.01 and FP7 but when I wanted to install Extension Library from openntf.org I realized that I forgot to enable Domino Designer and Domino Administrator options during setup. So I run installer again, chose option "Modify", enabled Do
5
Great news about BM Notes/Domino 9.0.1 Feature Pack 8
Fri, Jan 27th 2017 3:22p   Yuriy Pastovenskyy
Notes/Domino Fix List (Copied from here) IBM Notes/Domino 9.0.1 Feature Pack 8 Preliminary Release Notice January 27, 2017 Beginning with 9.0.1 FP8, fix packs have been renamed to feature packs. To ensure quality, these feature packs still have a high focus on addressing high impacting defects. Where possible, these features are optional enabled to minimize risk. The same packaging, architecture and install kits used in previous fix packs remain in use for feature packs. IBM has identified im
15
How to set Workspace as default homepage in IBM Notes client
Wed, Oct 26th 2016 11:22a   Yuriy Pastovenskyy
Hi Recently I've got the task to set up Workspace as default homepage in IBM Notes client for about 400 users. Googling didn't really help - suggestion from IBM I found looked crazy and I didn't want to mess with it. My hope on Domino policies didn't work either - not sure, may be I missed something. However I found another interesting thing that can be very helpful for resolving this task. Database Bookmark.nsf (where Workspace is actually located) contains form "WPDiscoverChange" wi




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