Loading rico1 and rico3 files
[infodrom/rico3] / plugins / dotnet / GridColumn.ascx.vb
1 Partial Class GridColumn\r
2 Inherits System.Web.UI.UserControl\r
3 \r
4 ' ----------------------------------------------------\r
5 ' Properties\r
6 ' ----------------------------------------------------\r
7 \r
8 Public DataType as String    ' maps to LiveGrid column 'type'\r
9 Public canSort as Boolean = True\r
10 Public canDrag as Boolean = False\r
11 Public canFilter as Boolean = True\r
12 Public control as String     ' javascript code to create control object\r
13 Public format as String\r
14 Public visible as Boolean = True\r
15 Public ClassName as String\r
16 Public filterUI as String\r
17 Public filterCol as Integer = -1\r
18 Public spec as String\r
19 \r
20 ' number formatting\r
21 Public multiplier as Double = 1.0\r
22 Public decPlaces as Integer = 0\r
23 Public decPoint as String\r
24 Public thouSep as String\r
25 Public negSign as String\r
26 Public prefix as String\r
27 Public suffix as String\r
28 \r
29 ' date formatting\r
30 Public dateFmt as String\r
31 \r
32 ' LiveGrid Forms\r
33 Public pattern as String\r
34 Public min as String\r
35 Public max as String\r
36 Public Help as String\r
37 Public TxtAreaRows as Integer = 4\r
38 Public TxtAreaCols as Integer = 80\r
39 Public ColName as String\r
40 Public ColData as String\r
41 Public SelectSql as String\r
42 Public SelectCtl as String\r
43 Public SelectFilter as String\r
44 Public SelectValues as String\r
45 Public SelectRows as Integer = -1\r
46 Public Formula as String\r
47 Public TableIdx as Integer = 0\r
48 Public FilterFlag as Boolean = False\r
49 Public FieldName as String\r
50 Public isNullable as Boolean = False\r
51 Public Writeable as Boolean = True\r
52 Public FixedLength as Boolean\r
53 Public isKey as Boolean = False\r
54 Public Length as Integer = -1\r
55 Public TypeName as String  ' .net type\r
56 Public panelIdx as Integer = -1\r
57 Public ConfirmDeleteColumn as Boolean = False\r
58 Public InsertOnly as Boolean = False\r
59 Public UpdateOnly as Boolean = False\r
60 Public [ReadOnly] as Boolean = False\r
61 Public FormView as String\r
62 Public AddQuotes as Boolean = True\r
63 Public AltTable as String\r
64 Public MultiSelect as Boolean = False\r
65 Public DescriptionCol as String\r
66 Public DescriptionField as String  ' should populate automatically based on DescriptionCol\r
67 Public noFormBreak as Boolean = False\r
68 \r
69 Private _EntryType as String\r
70 Private _colHeading As String\r
71 Private _width As Integer = -1\r
72 \r
73 \r
74 Public Property Heading() As String\r
75   Get\r
76     Return _colHeading\r
77   End Get\r
78   Set\r
79     _colHeading = value\r
80   End Set\r
81 End Property\r
82 \r
83 Public Property Width() As Integer\r
84   Get\r
85     Return _width\r
86   End Get\r
87   Set\r
88     _width = value\r
89   End Set\r
90 End Property\r
91 \r
92 Public Function isLookupField() as Boolean\r
93   isLookupField=CBool(mid(_EntryType,2,1)="L")\r
94 End Function\r
95 \r
96 Public Property EntryType() As String\r
97   Get\r
98     Return _EntryType\r
99   End Get\r
100   Set\r
101     select case value\r
102       case "TA","tinyMCE","R","RL","S","SL","CL","N","B","T","I","F":\r
103       case "D":   DataType="date"\r
104       case "DT":  DataType="datetime"\r
105       case "H":   visible=false\r
106       case else:  Throw New Exception("Invalid EntryType")\r
107     end select\r
108     _EntryType = value\r
109   End Set\r
110 End Property\r
111 \r
112 \r
113 Private function FmtBool(b)\r
114   if b then FmtBool="true" else FmtBool="false"\r
115 end function\r
116 \r
117 Public ReadOnly Property script() As String\r
118   Get\r
119     if not IsNothing(Me.spec) then Return "'" & Me.spec & "'"\r
120     dim a as New ArrayList()\r
121     if not IsNothing(Me.DataType) then a.Add("type: '" & Me.DataType & "'")\r
122     if not IsNothing(Me.control) then a.Add("control: " & Me.control)\r
123     if not IsNothing(Me.pattern) then a.Add("pattern: '" & Me.pattern & "'")\r
124     if not IsNothing(Me.min) then a.Add("min: '" & Me.min & "'")\r
125     if not IsNothing(Me.max) then a.Add("max: '" & Me.max & "'")\r
126     if not IsNothing(Me.Help) then a.Add("Help: '" & Me.Help & "'")\r
127     if not IsNothing(Me.format) then a.Add("format: '" & Me.format & "'")\r
128     if not Me.canSort then a.Add("canSort: false")\r
129     if Me.canDrag then a.Add("canDrag: true")\r
130     if not Me.canFilter then a.Add("canFilter: false")\r
131     if not Me.visible then a.Add("visible: false")\r
132     if Me._width >= 0 then a.Add("width: " & Me._width)\r
133     if not IsNothing(Me.ColName)   then a.Add("ColName: '" & Me.ColName & "'")\r
134     if not IsNothing(Me.FieldName) then a.Add("FieldName: '" & Me.FieldName & "'")\r
135     if not IsNothing(Me.ClassName) then a.Add("ClassName: '" & Me.ClassName & "'")\r
136     if not IsNothing(Me.filterUI)  then a.Add("filterUI: '" & Me.filterUI & "'")\r
137     if Me.filterCol >= 0 then a.Add("filterCol: " & Me.filterCol)\r
138 \r
139     if Me.multiplier <> 1.0 then a.Add("multiplier: " & Me.multiplier)\r
140     if Me.decPlaces > 0 then a.Add("decPlaces: " & Me.decPlaces)\r
141     if not IsNothing(Me.decPoint) then a.Add("decPoint: '" & Me.decPoint & "'")\r
142     if not IsNothing(Me.thouSep) then a.Add("thouSep: '" & Me.thouSep & "'")\r
143     if not IsNothing(Me.negSign) then a.Add("negSign: '" & Me.negSign & "'")\r
144     if not IsNothing(Me.prefix) then a.Add("prefix: '" & Me.prefix & "'")\r
145     if not IsNothing(Me.suffix) then a.Add("suffix: '" & Me.suffix & "'")\r
146     if not IsNothing(Me.dateFmt) then a.Add("dateFmt: '" & Me.dateFmt & "'")\r
147     if Me.panelIdx >= 0 then a.Add("panelIdx: " & Me.panelIdx)\r
148 \r
149     if not IsNothing(Me.EntryType) then\r
150       a.Add("EntryType: '" & Me.EntryType & "'")\r
151       if Me.EntryType="D" and ucase(Me.ColData)="TODAY" then\r
152         a.Add("ColData: '" & DateTime.Today.ToString("s") & "'")\r
153       else\r
154         a.Add("ColData: '" & replace(Me.ColData,"'","\'") & "'")\r
155       end if\r
156       if Me.EntryType="TA" or Me.EntryType="tinyMCE" then\r
157         a.Add("TxtAreaRows: " & Me.TxtAreaRows)\r
158         a.Add("TxtAreaCols: " & Me.TxtAreaCols)\r
159       end if\r
160       if not IsNothing(Me.FormView) then a.Add("FormView: '" & Me.FormView & "'")\r
161       if not IsNothing(Me.SelectCtl) then a.Add("SelectCtl: '" & Me.SelectCtl & "'")\r
162       if not IsNothing(Me.SelectValues) then a.Add("SelectValues: '" & Me.SelectValues & "'")\r
163       if Me.Length >= 0 then a.Add("Length: " & Me.Length)\r
164       if Me.isNullable then a.Add("isNullable: true")\r
165       if Me.isKey then a.Add("isKey: true")\r
166       a.Add("Writeable: " & FmtBool(Me.Writeable))\r
167       if Me.InsertOnly then a.Add("InsertOnly: true")\r
168       if Me.UpdateOnly or not IsNothing(AltTable) then a.Add("UpdateOnly: true")\r
169       if Me.ReadOnly then a.Add("ReadOnly: true")\r
170       if Me.MultiSelect then a.Add("MultiSelect: true")\r
171       if Me.noFormBreak then a.Add("noFormBreak: true")\r
172       if not IsNothing(Me.DescriptionField) then a.Add("DescriptionField: '" & Me.DescriptionField & "'")\r
173       if Me.SelectRows > 0 then a.Add("SelectRows: " & Me.SelectRows)\r
174     end if\r
175     Return " {" & String.Join("," & vbCrLf & "  ", a.ToArray(Type.GetType("System.String"))) & " }"\r
176   End Get\r
177 End Property\r
178 \r
179 End Class\r