Home > Domino Tips > Developer > Setting row colors by category in a Lotus Notes view
Domino Tips:
EMAIL THIS
 TIPS & NEWSLETTERS TOPICS 

LOTUSSCRIPT

Setting row colors by category in a Lotus Notes view


Naveen Gupta
09.12.2006
Rating: -2.42- (out of 5)


Lotus Notes, Domino, Workplace and WebSphere tips and advice
Digg This!    StumbleUpon Toolbar StumbleUpon    Bookmark with Delicious Del.icio.us    Add to Google


In a Lotus Notes view, you can easily set colors to rows based on category, but only if the categories are known. If the categories are unknown or dynamic, setting the row colors by category gets trickier. Here's how to accomplish it.

  1. Create a Lotus Notes view named 'ColorP.' Add a sorted, categorized column for the value you categorize in the document. In this case, let us say DDHID is the field you want to categorize on. In the last tab of the column properties, type DDHID in Programmatic Use Name. Use the same view selection formula as you would keep for the main view (call it 'Main View') displayed to the user.

  2. Create a profile document and name it "WebLogProfile" form.

    Create the four fields as follows:

    Sender1B (Color type, Editable),
    Sender1F (Color type, Editable),
    Sender2B (Color type, Editable),
    Sender2F (Color type, Editable)
    Create a field named 'List2Field' as computed -- do not make it multi-value.

    Add the following formula:

    database := @Subset(@DbName; -1);
    server := @Name([CN]; @Subset(@DbName; 1)); 
    Sender1List := @Sort(@Unique(@Trim(@DbColumn
    ("";server:database; "ColorP";1))));
    GetSenderList := """ + @Implode
    (Sender1List; "":"") + """; GetSenderList

    Add a second field '$color1' as computed -- do not make it multi-value.

    Add the following formula, don't worry about tmpColorButton, it is a temporary variable:

    @If(tmpColorButton = "1"; "";
    "S_1B :=  "" + Sender1B + "";  S_1F :=  
    "" + Sender1F + "";  
    S_2B :=  "" + Sender2B + "";  S_2F :=  
    "" + Sender2F + "";   colr1 := S_1B 
    :   S_1F ; colr2 := S_2B   :   S_2F ;      
    @If(@Modulo(@Member(DDHID ;  " 
    + List2field + ")
      + 1; 2) = 0 ; colr1;colr2 )")
  3. Create a view named 'Main view,' this will be shown to the user.

    Add the first column as a hidden column, then select "use value as color" and "User Definable." In the Profile Document: "WebLogProfile." In the last tab of column properties under Programmatic Use Name {type}:

    $color1 ( check Hide column)
    In the column formula: @Trim(DDHID)
  4. Edit the "WebLogProfile" document and select colors for Sender1B, Sender1F, Sender2B, Sender2F. Save this and close the document.

  5. You may need to refresh the WebLogProfile document somehow (any way you want in the backend). Here is an example in LotusScript:
    set profiledoc = 
    db.Getprofiledocument("WebLogProfile") 
    success = 
    profiledoc.Computewithform(False, False) 
    if success then 
    call profiledoc.Save(TRue, TRue) 
    
    Endif
  6. Verify that the alternate color is shown per category. Remember, you may need to close and open the view in order to refresh the color.

Do you have comments on this tip? Let us know.

This tip was submitted to the SearchDomino.com tip library by member Naveen Gupta. Please let others know how useful it is via the rating scale below. Do you have a useful Lotus Notes, Domino, Workplace or WebSphere tip or code snippet to share? Submit it to our monthly tip contest and you could win a prize.

Rate this Tip
To rate tips, you must be a member of SearchDomino.com.
Register now to start rating these tips. Log in if you are already a member.




Digg This!    StumbleUpon Toolbar StumbleUpon    Bookmark with Delicious Del.icio.us    Add to Google


RELATED CONTENT
Lotus Notes Domino Formula Language
Stop response documents from showing in a Lotus Notes form
Formula language button manages Deny Access list searches
Add a program doc to compact Lotus Notes databases automatically
Top 10 Lotus Notes Domino programming and development tips of 2007
Retrieve Lotus Notes names from a nested group using @DBLookup
Top 5 @DBLookup tips
Create a computed Lotus Notes field to list Personal Address Book names
Show multiple Lotus Notes document fields in a single view column
Lotus Formula language coding primer
How to send a document as a link in a Lotus Notes email

Formula
Formula language button manages Deny Access list searches
Retrieve Lotus Notes names from a nested group using @DBLookup
Create a computed Lotus Notes field to list Personal Address Book names
Show multiple Lotus Notes document fields in a single view column
How to send a document as a link in a Lotus Notes email
How to generate formatted sequence numbers with Formula language
A simpler pagination view for Lotus Notes documents on the Web
A bevy of Notes/Domino development tips
Easily implement attachment fields in a Web form using Formula
Programmatically create a shortcut for Lotus Notes

LotusScript
Display a custom message box using a LotusScript-generated button
Can I use LotusScript to merge cells in a Microsoft Word table?
Debug Lotus Notes documents using extracted data
Extracting attachments from a Lotus Notes rich-text field
Programmatically replace the design of Lotus Notes databases
Reading a binary field in an Oracle database with LotusScript
LotusScript equivalent of @Picklist for Lotus Notes
Launch large attachments within an email from a Notes database
How to find files on a hard drive or mapped network with LotusScript
Update the ACL from the Roles view with LotusScript

RELATED RESOURCES
2020software.com, trial software downloads for accounting software, ERP software, CRM software and business software systems
Search Bitpipe.com for the latest white papers and business webcasts
Whatis.com, the online computer dictionary

DISCLAIMER: Our Tips Exchange is a forum for you to share technical advice and expertise with your peers and to learn from other enterprise IT professionals. TechTarget provides the infrastructure to facilitate this sharing of information. However, we cannot guarantee the accuracy or validity of the material submitted. You agree that your use of the Ask The Expert services and your reliance on any questions, answers, information or other materials received through this Web site is at your own risk.

HomeNewsTopicsITKnowledge ExchangeTipsAsk the ExpertsMultimediaWhite PapersDomino IT Downloads
About Us  |  Contact Us  |  For Advertisers  |  For Business Partners  |  Site Index  |  RSS
SEARCH 
TechTarget provides enterprise IT professionals with the information they need to perform their jobs - from developing strategy, to making cost-effective IT purchase decisions and managing their organizations' IT projects - with its network of technology-specific Web sites, events and magazines.

TechTarget Corporate Web Site  |  Media Kits  |  Reprints  |  Site Map




All Rights Reserved, Copyright 1999 - 2008, TechTarget | Read our Privacy Policy
  TechTarget - The IT Media ROI Experts