or
public class BaseControl : UserControl{ private string _ValidationGroup = null; [Browsable(true)] public string ValidationGroup { get { return _ValidationGroup; } set { _ValidationGroup = value; SetValidationGroup(this, _ValidationGroup); } } private void SetValidationGroup(Control ctrl, string validationGroup) { foreach (Control child in ctrl.Controls) { if (child is BaseValidator) { (child as BaseValidator).ValidationGroup = validationGroup; } if (child.HasControls() && child.Visible) { SetValidationGroup(child, validationGroup); } } }}<controls:MyEntryControl runat="server" ID="TestEntryControl" ValidationGroup="MyValidationGroup" /><div style="clear:both;width:750px;text-align:right;padding-top:1em;"> <telerik:RadButton runat="server" ID="Save" Text="<%$ Resources:GlobalResources,Save %>" CausesValidation="true" ValidationGroup="MyValidationGroup" OnClick="Save_Click" /> <telerik:RadButton runat="server" ID="Cancel" Text="<%$ Resources:GlobalResources,Cancel %>" OnClick="Cancel_Click" CausesValidation="false" /></div>Editor.ToolbarMode = Telerik.Web.UI.EditorToolbarMode.PageTop;protected void grid_ItemCreated(object sender, GridItemEventArgs e){ if (e.Item is GridEditableItem) { if (e.Item.DataItem != null) { int contractid = (e.Item.DataItem as Contract).ContractId; var records = GetRecords(contractid); foreach (var record in records) { var button = new RadButton(); button.Text = contractid.ToString(); button.Click += delegate { button.Text = "fired!"; }; var phContract = (PlaceHolder)e.Item.FindControl("placeholder"); phContract.Controls.Add(contract); } } }}