Project

General

Profile

brws-search.p

Stanislav Lomany, 08/02/2016 11:07 AM

Download (2.16 KB)

 
1
DEF TEMP-TABLE tt FIELD f1 AS INTEGER FORMAT "+99"
2
                  FIELD f2 AS integer
3
                  FIELD f3 AS CHARACTER
4
                  FIELD f4 AS CHARACTER
5
                  FIELD f5 AS CHARACTER
6
                  INDEX idx f1.
7
                     
8
def var i as INTEGER.
9

    
10
CREATE tt. tt.f1 = 1. tt.f3 = "ac". tt.f4 = "that".
11
CREATE tt. tt.f1 = 2. tt.f3 = "ab". tt.f4 = "is".
12
CREATE tt. tt.f1 = 3. tt.f3 = "aa". tt.f4 = "a".
13
CREATE tt. tt.f1 = 4. tt.f3 = "ba". tt.f4 = "phrase".
14
CREATE tt. tt.f1 = 5. tt.f3 = "ba".
15
CREATE tt. tt.f1 = 6. tt.f3 = "thats".
16
CREATE tt. tt.f1 = 7. tt.f3 = "the".
17
CREATE tt. tt.f1 = 8. tt.f3 = "way".
18
CREATE tt. tt.f1 = 9. tt.f3 = "aha".
19
CREATE tt. tt.f1 = 10. tt.f3 = "aha".
20
CREATE tt. tt.f1 = 11. tt.f3 = "I".
21
CREATE tt. tt.f1 = 12. tt.f3 = "like".
22
CREATE tt. tt.f1 = 13. tt.f3 = "it".
23
CREATE tt. tt.f1 = 14. tt.f3 = ",".
24
CREATE tt. tt.f1 = 15. tt.f3 = "+seven".
25
CREATE tt. tt.f1 = 20. tt.f3 = "one".
26
CREATE tt. tt.f1 = 21. tt.f3 = "two".
27
CREATE tt. tt.f1 = 22. tt.f3 = "three".
28

    
29
def var ch as char.
30

    
31
DEFINE QUERY q FOR tt SCROLLING.
32
OPEN QUERY q FOR EACH tt.
33

    
34
/*tt.f1 FORMAT "->>9"*/
35

    
36
DEF BROWSE br QUERY q 
37
DISPLAY 
38
    tt.f3 tt.f4 
39
   
40
   WITH 8 DOWN TITLE "Static browse".
41

    
42
DEF FRAME fr br 
43
WITH TITLE "Frame" SIZE 70 BY 15.
44

    
45
ENABLE ALL WITH FRAME fr.
46
message "Column headers are clickable".
47
MESSAGE "press T to add record".
48

    
49
BROWSE br:ALLOW-COLUMN-SEARCHING = TRUE.
50

    
51
ON 't' ANYWHERE  
52
DO:
53
   MESSAGE "Added record 23".
54
   CREATE tt. tt.f1 = 23. tt.f3 = "four".
55
END.
56

    
57
ON START-SEARCH OF BROWSE br
58
DO:
59
   DEFINE VARIABLE hSortColumn AS WIDGET-HANDLE.
60
   DEFINE VARIABLE hQ AS HANDLE.
61
   DEF VAR str AS CHAR.
62
   
63
   hSortColumn = BROWSE br:CURRENT-COLUMN.
64
   hQ = query q:handle.
65
   
66
   if hSortColumn:SORT-ASCENDING = ? then 
67
    hSortColumn:SORT-ASCENDING = true.
68
   else 
69
    hSortColumn:SORT-ASCENDING = not hSortColumn:SORT-ASCENDING.
70
    
71
   hQ:query-close.
72
    
73
   str = "FOR EACH tt BY tt." + hSortColumn:LABEL.
74
   IF hSortColumn:SORT-ASCENDING = FALSE THEN DO:
75
      str = str + " desc".
76
   END.
77
   hQ:QUERY-PREPARE(str).
78
   hQ:query-open.  
79
END.
80

    
81
ON START-SEARCH OF BROWSE br
82
DO:
83
  message "search done".
84
end.
85

    
86
WAIT-FOR WINDOW-CLOSE OF DEFAULT-WINDOW.
87

    
88