Das Notes Forum

Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: notesexec am 05.04.04 - 15:27:16

Titel: Sortierung eines Keyword Felds
Beitrag von: notesexec am 05.04.04 - 15:27:16
Hallo

ich hab mal ne Frage bezüglich der Sortierung innerhalb eines Feldes:
ich hab ein Feld angelegt, in dem ein große Anzahl von Keywords für ein DropDown Feld angelegt sind. Hier kommen immer wieder welche dazu oder es werden welche gelöscht. Bis dahin läuft alles hervoragend.

Jetzt möchte ich aber einen Button (als Aktion) reinsetzen, der beim anklicken ein Script startet, der genau dieses Keyword Feld alphabetisch sortiert. Gibt es da eine Möglichkeit ?  ???

Wäre super wenn mir da jemand nen Tip geben könnte.

Gruß
Christian
Titel: Re:Sortierung eines Keyword Felds
Beitrag von: eknori am 05.04.04 - 15:33:22
Sub Click(Source As Button)
   Dim workspace As New NotesUIWorkspace
   Dim uidoc As NotesUIDocument
   Dim doc As NotesDocument
   Dim k As Integer
   Dim i As Integer
   Dim j As Integer
   Dim h As Integer
   Dim r As Integer
   Dim memberArray() As String
   Dim temp As String
   
   Set uidoc = workspace.CurrentDocument
   Set doc = uidoc.Document
   
 'Build an array of values to sort
   For k = 0 To Ubound(doc.cfgKeywords)
      Redim Preserve memberArray(1 To k+1)
      memberArray(k+1) = Cstr(doc.cfgKeywords(k))
   Next
   
 'Set up for Shell sort algorithm
   h = 1
   Do While h < k
      h = (h*3)+1
   Loop
   h = (h-1)/3
   If h > 3 Then
      h = (h-1)/3
   End If
   
 'Shell sort algorithm
   Do While h > 0
      For i = 1+h To k
         temp = memberArray(i)
         j = i-h
         Do While j >0
            If memberArray(j)>temp Then
               memberArray(j+h) = memberArray(j)
               memberArray(j) = temp
            Else
               Exit Do
            End If
            j = j-h
         Loop
      Next i
      h = (h-1)/3
   Loop
   
 'Write new field value to back-end doc and reload front-end doc
   Call doc.ReplaceItemValue("cfgKeywords", memberArray)
   Call uidoc.Reload
End Sub

statt cfgKeywords setzt du deinen Feldnamen rein...

Ulrich
Titel: Re:Sortierung eines Keyword Felds
Beitrag von: notesexec am 05.04.04 - 15:35:42
super danke! das ging ja schnell - das werd ich gleich mal ausprobieren...

Gruß
christian
Titel: Re:Sortierung eines Keyword Felds
Beitrag von: notesexec am 05.04.04 - 15:40:13
Klasse !!!!! des läuft super... Danke  ;D