* Maintainer: gvaish@iitk.ac.in\r
* Contact: <my_scripts2001@yahoo.com>, <gvaish@iitk.ac.in>\r
* Implementation: yes\r
- * Status: 5%\r
+ * Status: 100%\r
*\r
* (C) Gaurav Vaish (2002)\r
*/\r
PropertyDescriptor textFieldDescriptor;\r
PropertyDescriptor urlFieldDescriptor;\r
\r
- public HyperLinkColumn(): base()\r
+ public HyperLinkColumn ()\r
{\r
}\r
\r
- public virtual string DataNavigateUrlField\r
- {\r
- get\r
- {\r
- object o = ViewState["DataNavigateUrlField"];\r
- if(o != null)\r
- return (string)o;\r
+ public virtual string DataNavigateUrlField {\r
+ get {\r
+ object o = ViewState ["DataNavigateUrlField"];\r
+ if (o != null)\r
+ return (string) o;\r
return String.Empty;\r
}\r
- set\r
- {\r
- ViewState["DataNavigateUrlField"] = value;\r
+\r
+ set {\r
+ ViewState ["DataNavigateUrlField"] = value;\r
+ OnColumnChanged ();\r
}\r
}\r
\r
- public virtual string DataNavigateUrlFormatString\r
- {\r
- get\r
- {\r
- object o = ViewState["DataNavigateUrlFormatString"];\r
- if(o != null)\r
- return (string)o;\r
+ public virtual string DataNavigateUrlFormatString {\r
+ get {\r
+ object o = ViewState ["DataNavigateUrlFormatString"];\r
+ if (o != null)\r
+ return (string) o;\r
return String.Empty;\r
}\r
- set\r
- {\r
- ViewState["DataNavigateUrlFormatString"] = value;\r
+\r
+ set {\r
+ ViewState ["DataNavigateUrlFormatString"] = value;\r
+ OnColumnChanged ();\r
}\r
}\r
\r
- public virtual string DataTextField\r
- {\r
- get\r
- {\r
- object o = ViewState["DataTextField"];\r
- if(o != null)\r
- return (string)o;\r
+ public virtual string DataTextField {\r
+ get {\r
+ object o = ViewState ["DataTextField"];\r
+ if (o != null)\r
+ return (string) o;\r
return String.Empty;\r
}\r
- set\r
- {\r
- ViewState["DataTextField"] = value;\r
+ set {\r
+ ViewState ["DataTextField"] = value;\r
+ OnColumnChanged ();\r
}\r
}\r
\r
- public virtual string DataTextFormatString\r
- {\r
- get\r
- {\r
- object o = ViewState["DataTextFormatString"];\r
- if(o != null)\r
- return (string)o;\r
+ public virtual string DataTextFormatString {\r
+ get {\r
+ object o = ViewState ["DataTextFormatString"];\r
+ if (o != null)\r
+ return (string) o;\r
return String.Empty;\r
}\r
- set\r
- {\r
- ViewState["DataTextFormatString"] = value;\r
+\r
+ set {\r
+ ViewState ["DataTextFormatString"] = value;\r
+ OnColumnChanged ();\r
}\r
}\r
\r
- public virtual string NavigateUrl\r
- {\r
- get\r
- {\r
- object o = ViewState["NavigateUrl"];\r
- if(o != null)\r
- return (string)o;\r
+ public virtual string NavigateUrl {\r
+ get {\r
+ object o = ViewState ["NavigateUrl"];\r
+ if (o != null)\r
+ return (string) o;\r
return String.Empty;\r
}\r
- set\r
- {\r
- ViewState["NavigateUrl"] = value;\r
+\r
+ set {\r
+ ViewState ["NavigateUrl"] = value;\r
+ OnColumnChanged ();\r
}\r
}\r
\r
- public virtual string Target\r
- {\r
- get\r
- {\r
- object o = ViewState["Target"];\r
- if(o != null)\r
- return (string)o;\r
+ public virtual string Target {\r
+ get {\r
+ object o = ViewState ["Target"];\r
+ if (o != null)\r
+ return (string) o;\r
return String.Empty;\r
}\r
- set\r
- {\r
- ViewState["Target"] = value;\r
+\r
+ set {\r
+ ViewState ["Target"] = value;\r
+ OnColumnChanged ();\r
}\r
}\r
\r
- public virtual string Text\r
- {\r
- get\r
- {\r
- object o = ViewState["Text"];\r
- if(o != null)\r
- return (string)o;\r
+ public virtual string Text {\r
+ get {\r
+ object o = ViewState ["Text"];\r
+ if (o != null)\r
+ return (string) o;\r
return String.Empty;\r
}\r
- set\r
- {\r
- ViewState["Text"] = value;\r
+\r
+ set {\r
+ ViewState ["Text"] = value;\r
+ OnColumnChanged ();\r
}\r
}\r
\r
- public override void Initialize()\r
+ public override void Initialize ()\r
{\r
textFieldDescriptor = null;\r
urlFieldDescriptor = null;\r
+ base.Initialize ();\r
}\r
\r
- public override void InitializeCell(TableCell cell, int columnIndex, ListItemType itemType)\r
+ public override void InitializeCell (TableCell cell, int columnIndex, ListItemType itemType)\r
{\r
- base.InitializeCell(cell, columnIndex, itemType);\r
- if(Enum.IsDefined(typeof(ListItemType), itemType) && itemType != ListItemType.Footer)\r
- {\r
- HyperLink toDisplay = new HyperLink();\r
- toDisplay.Text = Text;\r
- toDisplay.NavigateUrl = NavigateUrl;\r
- toDisplay.Target = Target;\r
- if(DataTextField.Length > 0 || DataNavigateUrlField.Length>0)\r
- {\r
- toDisplay.DataBinding += new EventHandler(OnDataBindHyperLinkColumn);\r
- }\r
- cell.Controls.Add(toDisplay);\r
+ base.InitializeCell (cell, columnIndex, itemType);\r
+\r
+ if (itemType != ListItemType.Header && itemType != ListItemType.Footer) {\r
+ HyperLink toDisplay = new HyperLink ();\r
+ toDisplay.Text = Text;\r
+ toDisplay.NavigateUrl = NavigateUrl;\r
+ toDisplay.Target = Target;\r
+\r
+ if (DataTextField.Length > 0 || DataNavigateUrlField.Length > 0)\r
+ toDisplay.DataBinding += new EventHandler (OnDataBindHyperLinkColumn);\r
+\r
+ cell.Controls.Add (toDisplay);\r
}\r
}\r
\r
- private void OnDataBindHyperLinkColumn(object sender, EventArgs e)\r
+ private void OnDataBindHyperLinkColumn (object sender, EventArgs e)\r
{\r
- HyperLink link = (HyperLink)sender;\r
- object item = ((DataGridItem)link.NamingContainer).DataItem;\r
- if(textFieldDescriptor == null && urlFieldDescriptor == null)\r
- {\r
- textFieldDescriptor = TypeDescriptor.GetProperties(item).Find(DataTextField, true);\r
- if(textFieldDescriptor == null && !DesignMode)\r
- throw new HttpException(HttpRuntime.FormatResourceString("Field_Not_Found", DataTextField));\r
- urlFieldDescriptor = TypeDescriptor.GetProperties(item).Find(DataNavigateUrlField, true);\r
- if(urlFieldDescriptor == null && !DesignMode)\r
- throw new HttpException(HttpRuntime.FormatResourceString("Field_Not_Found", DataNavigateUrlField));\r
- }\r
-\r
- if(textFieldDescriptor != null)\r
- {\r
- link.Text = FormatDataTextValue(textFieldDescriptor.GetValue(item));\r
- } else\r
- {\r
+ HyperLink link = (HyperLink) sender;\r
+ object item = ((DataGridItem) link.NamingContainer).DataItem;\r
+\r
+ if (textFieldDescriptor == null && urlFieldDescriptor == null) {\r
+ PropertyDescriptorCollection properties = TypeDescriptor.GetProperties (item);\r
+ textFieldDescriptor = properties.Find (DataTextField, true);\r
+ if (textFieldDescriptor == null && !DesignMode)\r
+ throw new HttpException (HttpRuntime.FormatResourceString (\r
+ "Field_Not_Found", DataTextField));\r
+\r
+ urlFieldDescriptor = properties.Find (DataNavigateUrlField, true);\r
+ if (urlFieldDescriptor == null && !DesignMode)\r
+ throw new HttpException (HttpRuntime.FormatResourceString (\r
+ "Field_Not_Found", DataNavigateUrlField));\r
+ }\r
+\r
+ if (textFieldDescriptor != null) {\r
+ link.Text = FormatDataTextValue (textFieldDescriptor.GetValue (item));\r
+ } else {\r
link.Text = "Sample_DataBound_Text";\r
}\r
\r
- if(urlFieldDescriptor != null)\r
- {\r
- link.NavigateUrl = FormatDataNavigateUrlValue(urlFieldDescriptor.GetValue(item));\r
- } else\r
- {\r
+ if (urlFieldDescriptor != null) {\r
+ link.NavigateUrl = FormatDataNavigateUrlValue (urlFieldDescriptor.GetValue (item));\r
+ } else {\r
link.NavigateUrl = "url";\r
}\r
}\r
\r
- protected virtual string FormatDataNavigateUrlValue(object dataUrlValue)\r
+ protected virtual string FormatDataNavigateUrlValue (object dataUrlValue)\r
{\r
- string retVal = String.Empty;\r
- if(dataUrlValue != null)\r
- {\r
- if(DataNavigateUrlFormatString.Length > 0)\r
- {\r
- retVal = String.Format(DataNavigateUrlFormatString, dataUrlValue);\r
- } else\r
- {\r
- retVal = dataUrlValue.ToString();\r
- }\r
+ if (dataUrlValue == null)\r
+ return String.Empty;\r
+\r
+ string retVal;\r
+ if (DataNavigateUrlFormatString.Length > 0) {\r
+ retVal = String.Format (DataNavigateUrlFormatString, dataUrlValue);\r
+ } else {\r
+ retVal = dataUrlValue.ToString ();\r
}\r
+\r
return retVal;\r
}\r
\r
- protected virtual string FormatDataTextValue(object dataTextValue)\r
+ protected virtual string FormatDataTextValue (object dataTextValue)\r
{\r
- string retVal = String.Empty;\r
- if(dataTextValue != null)\r
- {\r
- if(DataTextFormatString.Length > 0)\r
- {\r
- retVal = String.Format(DataTextFormatString, dataTextValue);\r
- } else\r
- {\r
- retVal = dataTextValue.ToString();\r
- }\r
+ if (dataTextValue == null)\r
+ return String.Empty;\r
+\r
+ string retVal;\r
+ if (DataTextFormatString.Length > 0) {\r
+ retVal = String.Format (DataTextFormatString, dataTextValue);\r
+ } else {\r
+ retVal = dataTextValue.ToString ();\r
}\r
+\r
return retVal;\r
}\r
}\r
}\r
+\r