1 Partial Class GridColumn
\r
2 Inherits System.Web.UI.UserControl
\r
4 ' ----------------------------------------------------
\r
6 ' ----------------------------------------------------
\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
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
30 Public dateFmt as String
\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
69 Private _EntryType as String
\r
70 Private _colHeading As String
\r
71 Private _width As Integer = -1
\r
74 Public Property Heading() As String
\r
83 Public Property Width() As Integer
\r
92 Public Function isLookupField() as Boolean
\r
93 isLookupField=CBool(mid(_EntryType,2,1)="L")
\r
96 Public Property EntryType() As String
\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
113 Private function FmtBool(b)
\r
114 if b then FmtBool="true" else FmtBool="false"
\r
117 Public ReadOnly Property script() As String
\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
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
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
154 a.Add("ColData: '" & replace(Me.ColData,"'","\'") & "'")
\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
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
175 Return " {" & String.Join("," & vbCrLf & " ", a.ToArray(Type.GetType("System.String"))) & " }"
\r