2006-08-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
[mono.git] / mcs / class / System.Web / System.Web.UI.WebControls / HyperLinkField.cs
index 998cfc8134e9aedf5f65b4abbf0f878f81e20464..ad3fe1f991bafdd33f6ed9a264eeb90946ce43b3 100644 (file)
@@ -51,10 +51,10 @@ namespace System.Web.UI.WebControls {
                        return base.Initialize (sortingEnabled, control);
                }
                
-           [EditorAttribute ("System.Web.UI.Design.WebControls.DataFieldEditor, " + Consts.AssemblySystem_Design, "System.Drawing.Design.UITypeEditor, " + Consts.AssemblySystem_Drawing)]\r
-           [TypeConverterAttribute (typeof(StringArrayConverter))]\r
-           [WebCategoryAttribute ("Data")]\r
-           [DefaultValueAttribute ("")]\r
+               [EditorAttribute ("System.Web.UI.Design.WebControls.DataFieldEditor, " + Consts.AssemblySystem_Design, "System.Drawing.Design.UITypeEditor, " + Consts.AssemblySystem_Drawing)]
+               [TypeConverterAttribute (typeof(StringArrayConverter))]
+               [WebCategoryAttribute ("Data")]
+               [DefaultValueAttribute (null)]
                public virtual string[] DataNavigateUrlFields {
                        get {
                                object ob = ViewState ["DataNavigateUrlFields"];
@@ -84,7 +84,7 @@ namespace System.Web.UI.WebControls {
 
                [WebCategoryAttribute ("Data")]
                [DefaultValueAttribute ("")]
-           [TypeConverterAttribute ("System.Web.UI.Design.DataSourceViewSchemaConverter, " + Consts.AssemblySystem_Design)]\r
+               [TypeConverterAttribute ("System.Web.UI.Design.DataSourceViewSchemaConverter, " + Consts.AssemblySystem_Design)]
                public virtual string DataTextField {
                        get {
                                object ob = ViewState ["DataTextField"];
@@ -111,10 +111,10 @@ namespace System.Web.UI.WebControls {
                        }
                }
 
-           [DefaultValueAttribute ("")]\r
-           [EditorAttribute ("System.Web.UI.Design.ImageUrlEditor, " + Consts.AssemblySystem_Design, "System.Drawing.Design.UITypeEditor, " + Consts.AssemblySystem_Drawing)]\r
-           [UrlPropertyAttribute]\r
-           [WebCategoryAttribute ("Behavior")]\r
+               [DefaultValueAttribute ("")]
+               [EditorAttribute ("System.Web.UI.Design.UrlEditor, " + Consts.AssemblySystem_Design, "System.Drawing.Design.UITypeEditor, " + Consts.AssemblySystem_Drawing)]
+               [UrlPropertyAttribute]
+               [WebCategoryAttribute ("Behavior")]
                public virtual string NavigateUrl {
                        get {
                                object ob = ViewState ["NavigateUrl"];
@@ -129,7 +129,7 @@ namespace System.Web.UI.WebControls {
 
                [DefaultValueAttribute ("")]
                [WebCategoryAttribute ("Behavior")]
-           [TypeConverterAttribute (typeof(TargetConverter))]\r
+               [TypeConverterAttribute (typeof(TargetConverter))]
                public virtual string Target {
                        get {
                                object ob = ViewState ["Target"];
@@ -142,9 +142,9 @@ namespace System.Web.UI.WebControls {
                        }
                }
 
-           [LocalizableAttribute (true)]\r
-           [DefaultValueAttribute ("")]\r
-           [WebCategoryAttribute ("Appearance")]\r
+               [LocalizableAttribute (true)]
+               [DefaultValueAttribute ("")]
+               [WebCategoryAttribute ("Appearance")]
                public virtual string Text {
                        get {
                                object ob = ViewState ["Text"];
@@ -158,30 +158,34 @@ namespace System.Web.UI.WebControls {
                }
                
                public override void InitializeCell (DataControlFieldCell cell,
-                       DataControlCellType cellType, DataControlRowState rowState, int rowIndex)
+                                                    DataControlCellType cellType, DataControlRowState rowState, int rowIndex)
                {
-                       base.InitializeCell (cell, cellType, rowState, rowIndex);
-                       HyperLink link = new HyperLink ();
-                       bool bind = false;
-                       
-                       if (Target.Length > 0)
-                               link.Target = Target;
-                       
-                       if (DataTextField.Length > 0)
-                               bind = true;
-                       else
-                               link.Text = Text;
-                       
-                       string[] fields = DataNavigateUrlFields;
-                       if (fields.Length > 0)
-                               bind = true;
-                       else
-                               link.NavigateUrl = NavigateUrl;
-
-                       if (bind && cellType == DataControlCellType.DataCell && (rowState & DataControlRowState.Insert) == 0)
-                               cell.DataBinding += new EventHandler (OnDataBindField);
-
-                       cell.Controls.Add (link);
+                       base.InitializeCell (cell, cellType, rowState, rowIndex);\r
+                       if (cellType == DataControlCellType.DataCell) {\r
+                               HyperLink link = new HyperLink ();\r
+                               bool bind = false;\r
+\r
+                               if (Target.Length > 0)\r
+                                       link.Target = Target;\r
+\r
+                               if (DataTextField.Length > 0)\r
+                                       bind = true;\r
+                               else\r
+                                       link.Text = Text;\r
+\r
+                               string [] fields = DataNavigateUrlFields;\r
+                               if (fields.Length > 0)\r
+                                       bind = true;\r
+                               else\r
+                                       link.NavigateUrl = NavigateUrl;\r
+\r
+                               if (bind && cellType == DataControlCellType.DataCell && (rowState & DataControlRowState.Insert) == 0)\r
+                                       cell.DataBinding += new EventHandler (OnDataBindField);\r
+\r
+                               link.ControlStyle.CopyFrom (ControlStyle);\r
+\r
+                               cell.Controls.Add (link);\r
+                       }
                }
                
                protected virtual string FormatDataNavigateUrlValue (object[] dataUrlValues)