public static void Validation_Load (Page p) { string testType = (string)WebTest.CurrentTest.UserData; DataGridTest dg = new DataGridTest (); dg.ID = "mygrid"; EditCommandColumn e; e = new EditCommandColumn (); e.ButtonType = ButtonColumnType.LinkButton; e.CancelText = "Cancel"; e.EditText = "Edit"; e.UpdateText = "Update"; switch (testType) { case "ValidatingValid": case "ValidatingInvalid": case "ValidationGroupIncluded": case "ValidationGroupNotIncluded": e.CausesValidation = true; break; case "NotValidatingInvalid": e.CausesValidation = false; break; } switch (testType) { case "ValidationGroupIncluded": case "ValidationGroupNotIncluded": e.ValidationGroup = "Group1"; break; default: e.ValidationGroup = ""; break; } dg.Columns.Add (e); TextBox tb = new TextBox (); tb.ID = "Text1"; switch (testType) { case "ValidatingValid": tb.Text = "111"; break; case "ValidatingInvalid": case "NotValidatingInvalid": case "ValidationGroupIncluded": case "ValidationGroupNotIncluded": tb.Text = ""; break; } RequiredFieldValidator v = new RequiredFieldValidator (); v.ControlToValidate = "Text1"; switch (testType) { case "ValidationGroupIncluded": v.ValidationGroup = "Group1"; break; case "ValidationGroupNotIncluded": v.ValidationGroup = "NotGroup1"; break; default: v.ValidationGroup = ""; break; } TemplateColumn tc = new TemplateColumn (); tc.EditItemTemplate = new ValidatingEditTemplate (tb, v); dg.Columns.Add (tc); ObjectDataSource ods = new ObjectDataSource ("MyObjectDS", "Select"); ods.UpdateMethod = "Update"; ods.DataObjectTypeName = "MyObjectDS"; ods.ID = "MyDS"; p.Form.Controls.Add (ods); dg.DataSource = ods; //dg.DataKeyField = "i"; //DataTable table = new DataTable (); //table.Columns.Add (new DataColumn ("one", typeof (string))); //table.Columns.Add (new DataColumn ("two", typeof (string))); //table.Columns.Add (new DataColumn ("three", typeof (string))); //table.Rows.Add (new object [] { "1", "2", "3" }); //dg.DataSource = new DataView (table); dg.EditItemIndex = 0; p.Form.Controls.Add (dg); dg.DataBind (); if (!p.IsPostBack) { WebTest.CurrentTest.UserData = dg.Items [0].Cells [0].Controls [0].UniqueID; } }