IBM®
Skip to main content
    Country/region select      Terms of use
 
 
   
     Home      Products      Services & solutions      Support & downloads      My account     
 
developerWorks
AIX and UNIX
Information Mgmt
Lotus
New to Lotus
Products
How to buy
Downloads
Live demos
Technical library
Training
Support
Forums & community
Events
Rational
Tivoli
WebSphere
Java™ technology
Linux
Open source
SOA and Web services
Web development
XML
My developerWorks
About dW
Submit content
Feedback



developerWorks  >  Lotus  >  Technical Library
developerWorks



[Back to "LotusScript: Programming views in Notes/Domino 6"]

LotusScript:Programming views in Notes/Domino 6 sidebar
The following is a code example for creating a new view.

Declarations
Dim db As NotesDatabase
Dim Templateview As NotesView
Dim UsersView As NotesView
Dim col1 As NotesViewColumn
Dim col2 As NotesViewColumn
Dim J As Integer
Dim K As Integer
Dim L As Integer
Dim allcols () As String
Dim checkviewname () As String

Sub Initialize
    Dim s As New NotesSession
    Dim ws As New NotesUIWorkspace

    Set db = s.CurrentDatabase
    Set Templateview = db.GetView("MAIN")
    'Asks for name of new view
CHOOSENAME:
    newviewname = Inputbox("Name for new view?","What do you wish to name this view?")
    If Trim(newviewname) = "" Then
      Messagebox "Stopping processing",,"You did not enter a name for the view."
      Exit Sub
    End If
'Check for existing view name
Redim Preserve checkviewname(Ubound(db.Views))
For L = 0 To Ubound(db.Views)
    checkviewname(L) = db.Views(L).Name
    If checkviewname(L) = newviewname Then
      Messagebox "The view name you entered is already being used. Please pick another." _
      ,,"View Name already in use"
      Goto CHOOSENAME
    End If
Next
    'Create new view with name from user input
    Set UsersView = db.CreateView(newviewname)
    'Remove default column created with view
    Call UsersView.RemoveColumn(UsersView.ColumnCount)
    'Find number of columns in Templateview
    I = Ubound(Templateview.Columns)
    Redim Preserve allcols(I)
    'Create an array of column titles to be used in prompt
    For J = 0 To I
      allcols(J) = Templateview.Columns(J).Title
      Next
      K = 1
Do
    chosencol = ws.Prompt(Prompt_OKCancelList,"Choose column to insert", _
    "Select from list of column names.","",allcols)
    'Find column position
    For J =0 To Ubound(Templateview.Columns)
    If Templateview.Columns(J).Title = chosencol Then
    Set col1 = Templateview.Columns(J)
    End If
    Next
    Set col2 = UsersView.CopyColumn(col1, K)
    If col2.Position = 1 Then
      asksort = ws.Prompt(PROMPT_YESNO,"Sorting for first column?", _
      "Do you want to sort the first column?")
      If asksort = 1 Then
      col2.IsSorted = True
      End If
    End If
    'Set the font color for the header
    col2.HeaderFontColor = COLOR_BLUE
    K= K+1
Loop While ws.Prompt(PROMPT_YESNO,"Additional columns?","Do you want to add another column to the view?")
    Messagebox "View completed",,"Your view has been built."
End Sub




    About IBM Privacy Contact