2001-11-15 Gaurav Vaish <gvaish@iitk.ac.in>
[mono.git] / mcs / class / System.Web / System.Web.UI.WebControls / BoundColumn.cs
1 /**\r
2  * Namespace: System.Web.UI.WebControls\r
3  * Class:     BoundColumn\r
4  * \r
5  * Author:  Gaurav Vaish\r
6  * Maintainer: gvaish@iitk.ac.in\r
7  * Contact: <my_scripts2001@yahoo.com>, <gvaish@iitk.ac.in>\r
8  * Status:  60%\r
9  * \r
10  * (C) Gaurav Vaish (2001)\r
11  */\r
12 \r
13 using System;\r
14 using System.ComponentModel;\r
15 using System.Web;\r
16 using System.Web.UI;\r
17 \r
18 namespace System.Web.UI.WebControls\r
19 {\r
20         public class BoundColumn : DataGridColumn\r
21         {\r
22                 public static readonly string thisExpr = "!";\r
23                 \r
24                 private string dataField;\r
25                 private string dataFormatString;\r
26                 private bool readOnly;\r
27                 \r
28                 private PropertyDescriptor desc;\r
29 \r
30                 public BoundColumn(): base()\r
31                 {\r
32                         //TODO: The start work\r
33                         Initialize();\r
34                 }\r
35                 \r
36                 public override void Initialize()\r
37                 {\r
38                         base.Initialize();\r
39                         dataField        = String.Empty;\r
40                         dataFormatString = String.Empty;\r
41                         readOnly         = false;\r
42                         desc             = null;\r
43                 }\r
44 \r
45                 public override void InitializeCell(TableCell cell, int columnIndex, ListItemType itemType)\r
46                 {\r
47                         //TODO: What to do?\r
48                         base.InitializeCell(cell, columnIndex, itemType);\r
49                         switch(itemType)\r
50                         {\r
51                                 case \r
52                         }\r
53                         throw new NotImplementedException();\r
54                 }\r
55                 \r
56                 public virtual string DataField\r
57                 {\r
58                         get\r
59                         {\r
60                                 return dataField;\r
61                         }\r
62                         set\r
63                         {\r
64                                 dataField = value;\r
65                         }\r
66                 }\r
67                 \r
68                 public virtual string DataFormatString\r
69                 {\r
70                         get\r
71                         {\r
72                                 return dataFormatString;\r
73                         }\r
74                         set\r
75                         {\r
76                                 dataFormatString = value;\r
77                         }\r
78                 }\r
79                 \r
80                 public virtual bool ReadOnly\r
81                 {\r
82                         get\r
83                         {\r
84                                 return readOnly;\r
85                         }\r
86                         set\r
87                         {\r
88                                 readOnly = value;\r
89                         }\r
90                 }\r
91                 \r
92                 protected virtual string FormatDataValue(Object dataValue)\r
93                 {\r
94                         // TODO: How to extract the value from the object?\r
95                         // TODO: Then format the value. Here's a possible solution\r
96                         if(dataFormatString == null || dataFormatString.equals(String.Empty))\r
97                                 return dataValue.toString();\r
98                         if(dataValue is DateTime)\r
99                                 return ((DateTime)dataValue).toString(dataFormatString);\r
100                         throw new NotImplementedException();\r
101                         // and so on for int, String, double..\r
102                         // something's wrong here. there must be some shorter method!\r
103                         //string val = dataValue.toString(dataFormatString);\r
104                 }\r
105         }\r
106 }\r