2009-10-30 Marek Habersack <mhabersack@novell.com>
[mono.git] / mcs / class / System.Web / System.Web.UI.WebControls / BoundColumn.cs
index 96d5bcc5e61d54960704a34e6fc28ad44e502567..76a92eecfb18d5e6b928e0970902427c5cf9a742 100644 (file)
@@ -34,9 +34,9 @@ namespace System.Web.UI.WebControls {
        // CAS
        [AspNetHostingPermission (SecurityAction.LinkDemand, Level = AspNetHostingPermissionLevel.Minimal)]
        [AspNetHostingPermission (SecurityAction.InheritanceDemand, Level = AspNetHostingPermissionLevel.Minimal)]
-       public class BoundColumn : DataGridColumn {
-
-               private string data_format_string;
+       public class BoundColumn : DataGridColumn 
+       {
+               string data_format_string;
 
                public BoundColumn ()
                {
@@ -93,16 +93,22 @@ namespace System.Web.UI.WebControls {
                {
                        base.InitializeCell (cell, columnIndex, itemType);
 
+                       string df = DataField;
+
                        switch (itemType) {
                        case ListItemType.Item:
                        case ListItemType.SelectedItem:
                        case ListItemType.AlternatingItem:
-                               cell.DataBinding += new EventHandler (ItemDataBinding);
+                               if (df != null && df.Length != 0)
+                                       cell.DataBinding += new EventHandler (ItemDataBinding);
                                break;
                        case ListItemType.EditItem:
-                               string df = DataField;
+                               if (ReadOnly && df != null && df.Length != 0) {
+                                       cell.DataBinding += new EventHandler (ItemDataBinding);
+                                       break;
+                               }
                                TextBox tb = new TextBox ();
-                               if (df != null && df != "")
+                               if (df != null && df.Length != 0)
                                        tb.DataBinding += new EventHandler (ItemDataBinding);
                                cell.Controls.Add (tb);
                                break;