Home > Domino Tips > Developer > Formula > Mark calendar entries red and strikethrough
Domino Tips:
EMAIL THIS
 TIPS & NEWSLETTERS TOPICS 

FORMULA

Mark calendar entries red and strikethrough


George France
01.06.2003
Rating: -3.75- (out of 5)


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


I recently had a request from a user to allow for Calendar entries to be marked in Red and Strikethrough text by clicking an action button. These would be displayed along with the 'Normal' entries within the Calendar. She also wanted the ability to reset the 'Marked' entrie(s) back to normal.



Code

Below are the steps to recreate the solution I came up with. If you have a better solution I would love to know:

  1. Open the users Mail file in Designer.
  2. Open the ' _Calendar Entry | Appointment ' Form
  3. At the end of the Subject field press the enter key and create a new Text, Editable field called Marked.
  4. Open the Hide When Tab of the properties box for this field and select all for reading and editing, we want to hide in read and edit modes. Do not place any default value into this field.
  5. Save and Close the form.
  6. Right click the ' _Calendar Entry | Appointment ' Form and select Design Properties.
  7. Click the Design Tab and select the 'Prohibit design refresh or replace to modify'.
  8. Open the View '($Calendar) alias Calendar'
  9. Select the Description column and copy to Clipboard then Paste.
  10. You now have two Description columns. Select the end one, farthest to the right.
  11. Open the Properties box for this column and change the display color for the documents to Red and with the Strikethrough attribute.
  12. Edit the formula for this column to read :
    xxLocation := @If(@Length(Room); 
    "Location: " + @Name([CN];@Subset
    (Room;1)); @Length(Location);"Location: 
    " + Location; "");
    xxChair := @If(AppointmentType = "3";
     "Chair: " + @Name([CN];Chair); 
    TaskType = "2"; "Owner: " + 
    @Name([CN];Chair);"");
    @If(Marked="Y";@Trim(Subject : 
    xxLocation : xxChair);"")
    
  13. Note that only the last line of the formula has changed.
  14. Edit the formula in the first Description column to read:
    xxLocation := @If(@Length(Room); 
    "Location: " + @Name([CN];
    @Subset(Room;1)); @Length(Location)
    ;"Location: " + Location; "");
    xxChair := @If(AppointmentType = "3"; 
    "Chair: " + @Name([CN];Chair); 
    TaskType = "2"; "Owner: " + 
    @Name([CN];Chair);"");
    @If(Marked="N" | Marked = "";
    @Trim(Subject : xxLocation : xxChair);"")
    
  15. Note that only the last line of the formula has changed.
  16. Open the Action Pane for the View and add an action button to the bottom of the current list.
  17. Name it ' Toggle Strikethrough', no icon, Show on Action bar only.
  18. Add the following Lotusscript code the the Click event of the Action button:
    Dim ns As notesSession
    Dim db As notesDatabase
    Dim ncol As notesDocumentCollection
    Dim ndoc As notesdocument
    Dim workspace As New NotesUIWorkspace
    Set ns = New notesSession
    Set db = ns.currentDatabase
    Set ncol = db.unprocessedDocuments
    Set ndoc = ncol.getfirstdocument
    subj = ndoc.GetItemValue( "Marked" )
    If subj( 0 )="N" Then
    Call ndoc.replaceitemvalue("Marked","Y")
    Elseif subj( 0 )="Y" Then
    Call ndoc.replaceitemvalue("Marked","N")
    Else
    Call ndoc.replaceitemvalue("Marked","Y")
    End If
    Call ndoc.save(True,True)
    Call workspace.ViewRefresh
    
  19. Save and Close the View.
  20. Right click the '($Calendar) alias Calendar' View and select Design Properties.
  21. Click the Design Tab and select the 'Prohibit design refresh or replace to modify'.

Thats it. Open your calendar and select an entry and click the button to test...


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   



RELATED CONTENT
Formula
View hidden fields on Lotus Notes/Domino forms
Case-insensitive @Unique version combines fields on Lotus Notes forms
Provide rich-text formatting via the Profile document and Formula
Using Formula language code to sort Lotus Notes messages by subject
How to create dynamic JavaScript in Notes Domino without formulas
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

Lotus Notes Domino Formula Language
View hidden fields on Lotus Notes/Domino forms
Case-insensitive @Unique version combines fields on Lotus Notes forms
Do I use Formula or LotusScript to include a doclink to a Notes view?
Top 10 Lotus Notes/Domino coding and development tips of 2008
Provide rich-text formatting via the Profile document and Formula
Top 10 Formula language tips
Using Formula language code to sort Lotus Notes messages by subject
How to create dynamic JavaScript in Notes Domino without formulas
Stop response documents from showing in a Lotus Notes form
Formula language button manages Deny Access list searches

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.



Domino & Lotus Notes Security Solutions: Authentication, Antispam, Encryption and Antivirus
HomeTopicsITKnowledge ExchangeTipsAsk the ExpertsMultimediaWhite PapersDomino IT Downloads
About Us  |  Contact Us  |  For Advertisers  |  For Business Partners  |  Site Index  |  RSS
SEARCH 
TechTarget provides technology professionals with the information they need to perform their jobs - from developing strategy, to making cost-effective purchase decisions and managing their organizations' technology projects - with its network of technology-specific websites, events and online magazines.

TechTarget Corporate Web Site  |  Media Kits  |  Site Map




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