2009-06-06 Carlos Alberto Cortez <calberto.cortez@gmail.com>
[mono.git] / mcs / class / Managed.Windows.Forms / Test / System.Windows.Forms / DataGridViewDataBindingTest.cs
index b3a54fcf7dff2c642f0a327fb044960da32d8ab1..ddc16f0773a32935634d2c87cc79f6ab7a381679 100644 (file)
@@ -435,6 +435,44 @@ namespace MonoTests.System.Windows.Forms.DataGridViewBindingTest
                        f.Dispose ();
                }
 
+               [Test]  // bug #462019
+               public void TestCreatingColumnsAfterBind ()
+               {
+                       // When columns are added, we need to rebind.
+                       Form f = new Form ();
+                       f.ShowInTaskbar = false;
+
+                       DataSet ds = new DataSet ();
+
+                       DataTable dt = ds.Tables.Add ("Muppets");
+
+                       dt.Columns.Add ("ID");
+                       dt.Columns.Add ("Name");
+                       dt.Columns.Add ("Sex");
+
+                       dt.Rows.Add (1, "Kermit", "Male");
+                       dt.Rows.Add (2, "Miss Piggy", "Female");
+                       dt.Rows.Add (3, "Gonzo", "Male");
+
+                       DataGridView dgv = new DataGridView ();
+                       dgv.AutoGenerateColumns = false;
+                       dgv.AllowUserToAddRows = false;
+                       dgv.DataSource = ds;
+                       dgv.DataMember = "Muppets";
+
+                       f.Controls.Add (dgv);
+                       f.Show ();
+
+                       Assert.AreEqual (0, dgv.Rows.Count, "A1");
+                       
+                       DataGridViewColumn col = new DataGridViewTextBoxColumn ();
+                       col.DataPropertyName = "ID";
+                       dgv.Columns.Add (col);
+
+                       Assert.AreEqual (3, dgv.Rows.Count, "A1");
+
+                       f.Dispose ();
+               }
        }
        
        [TestFixture]