or

<telerik:RadWindow ID="sample" runat="server" Title="My Sample" Modal="true" Width="800px" Height ="720px" > <ContentTemplate> <UC1:Sample runat="server" ID="sampleControl" /> </ContentTemplate> </telerik:RadWindow>-- User control contents -- <div> <telerik:RadTextBox ID="txtTest" runat="server" CausesValidation="true" /> <asp:RequiredFieldValidator ID="rfv" ControlToValidate="txtTest" runat="server" Display="Dynamic" ErrorMessage="*" Text="*" /></div><telerik:RadButton ID="radButton" runat="server" Text="Click me" CausesValidation="true" />
'ASP.net article found here: http://www.4guysfromrolla.com/articles/042005-1.aspx 'Dont forget to register controls on the Page_load even. 'Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load ' 'Monitor the changes for the Web controls whose values you want to watch ' MonitorChanges(InputControlname) ' 'For those controls (like "Save" buttons) that cause a postback that should NOT prompt the ' 'user, call BypassModifiedMethod ' BypassModifiedMethod(btnSave) 'End Sub Public Sub MonitorChanges(ByVal wc As WebControl) If wc Is Nothing Then Exit Sub If TypeOf wc Is CheckBoxList OrElse TypeOf wc Is RadioButtonList Then 'Add an array element for each item in the checkbox/radiobutton list For i As Integer = 0 To CType(wc, ListControl).Items.Count - 1 ClientScript.RegisterArrayDeclaration("monitorChangesIDs", """" & String.Concat(wc.ClientID, "_", i) & """") ClientScript.RegisterArrayDeclaration("monitorChangesValues", "null") Next ElseIf TypeOf wc Is Telerik.Web.UI.RadComboBox Then ClientScript.RegisterArrayDeclaration("monitorChangesIDs", """" & wc.ClientID & "_Input" & """") ClientScript.RegisterArrayDeclaration("monitorChangesValues", "null") ElseIf TypeOf wc Is Telerik.Web.UI.RadEditor Then 'Not working. Still need to find the correct ID Value. ClientScript.RegisterArrayDeclaration("monitorChangesIDs", """" & wc.ClientID & "ContentHiddenTextarea" & """") ClientScript.RegisterArrayDeclaration("monitorChangesValues", "null") Else ClientScript.RegisterArrayDeclaration("monitorChangesIDs", """" & wc.ClientID & """") ClientScript.RegisterArrayDeclaration("monitorChangesValues", "null") End If AssignMonitorChangeValuesOnPageLoad() End SubPrivate Sub AssignMonitorChangeValuesOnPageLoad() If Not ClientScript.IsStartupScriptRegistered("monitorChangesAssignment") Then ClientScript.RegisterStartupScript(Me.GetType(), "monitorChangesAssignment", _ "<script language=""JavaScript"">" & vbCrLf & _ " assignInitialValuesForMonitorChanges();" & vbCrLf & _ "</script>") ClientScript.RegisterClientScriptBlock(Me.GetType(), "monitorChangesAssignmentFunction", _ "<script language=""JavaScript"">" & vbCrLf & _ " function assignInitialValuesForMonitorChanges() {" & vbCrLf & _ " for (var i = 0; i < monitorChangesIDs.length; i++) {" & vbCrLf & _ " var elem = document.getElementById(monitorChangesIDs[i]);" & vbCrLf & _ " if (elem) if (elem.type == 'checkbox' || elem.type == 'radio') monitorChangesValues[i] = elem.checked; else monitorChangesValues[i] = elem.value;" & vbCrLf & _ " }" & vbCrLf & _ " }" & vbCrLf & vbCrLf & vbCrLf & _ " var needToConfirm = true;" & vbCrLf & _ " window.onbeforeunload = confirmClose;" & vbCrLf & vbCrLf & _ " function confirmClose() {" & vbCrLf & _ " if (!needToConfirm) return;" & vbCrLf & _ " for (var i = 0; i < monitorChangesValues.length; i++) {" & vbCrLf & _ " var elem = document.getElementById(monitorChangesIDs[i]);" & vbCrLf & _ " if (elem) if (((elem.type == 'checkbox' || elem.type == 'radio') && elem.checked != monitorChangesValues[i]) || (elem.type != 'checkbox' && elem.type != 'radio' && elem.value != monitorChangesValues[i])) { needToConfirm = false; setTimeout('resetFlag()', 750); return ""You have modified the data entry fields since last savings. If you leave this page, any changes will be lost. To save these changes, click Cancel to return to the page, and then Save the data.""; }" & vbCrLf & _ " }" & vbCrLf & _ " }" & vbCrLf & vbCrLf & _ " function resetFlag() { needToConfirm = true; } " & vbCrLf & _ "</script>") End IfEnd SubPublic Sub BypassModifiedMethod(ByVal wc As WebControl) wc.Attributes("onclick") = "javascript:" & GetBypassModifiedMethodScript() End SubPublic Function GetBypassModifiedMethodScript() As String Return "needToConfirm = false;"End Function<telerik:RadGrid ID="rgTest" runat="server" > <MasterTableView AllowPaging="False" CommandItemDisplay="Top"> <Columns> <telerik:GridBoundColumn DataField="test" FilterControlAltText="Filter by test" HeaderText="Text" UniqueName="test" SortExpression="test"> </telerik:GridBoundColumn> <telerik:GridBoundColumn DataField="test1" FilterControlAltText="Filter by test1" HeaderText="Test1" UniqueName="test1" > </telerik:GridBoundColumn> </Columns> </MasterTableView></telerik:RadGrid>Protected Sub rgTest_NeedDataSource(sender As Object, e As GridNeedDataSourceEventArgs) Handles rgTEst.NeedDataSource LoadPreview()End SubPrivate Sub LoadPreview() Dim obj As New TestDataAccess Dim ds As DataSet = obj.PreviewGet() 'Return a dataset from the database rgTest.DataSource = dsEnd SubMyRadGrid.MasterTableView.ClearEditItems();
<telerik:GridButtonColumn CommandName="Delete" Text="Delete" UniqueName="DeleteColumn" ButtonType="ImageButton" ImageUrl="~/images/icons/trash_16x16.gif"> <HeaderStyle Width="20px"></HeaderStyle> <ItemStyle Width="20px"></ItemStyle></telerik:GridButtonColumn><telerik:RadGrid runat="server" ID="RadGrid1" DataSourceID="DS1" AutoGenerateColumns="false" OnItemCommand="RadGrid1_ItemCommand" OnEditCommand="RadGrid1_EditCommand" AllowAutomaticUpdates="true" AllowAutomaticDeletes="true"> <MasterTableView DataKeyNames="Id" DataSourceID="DS1" AllowAutomaticUpdates="true" AllowAutomaticDeletes="true" EditMode="EditForms"> <Columns> <telerik:GridBoundColumn HeaderText="Title" DataField="Title" /> <telerik:GridEditCommandColumn ButtonType="LinkButton" UniqueName="EditCommandColumn" /> <telerik:GridButtonColumn ConfirmText="Delete?" ConfirmDialogType="Classic" ConfirmTitle="Delete" ButtonType="LinkButton" CommandName="Delete" Text="Delete" /> </Columns> <EditFormSettings EditFormType="Template"> <FormTemplate> <table> <tr> <th>Search:</th> <td colspan="2"><telerik:RadAutoCompleteBox runat="server" ID="RadAutoCompleteBox1" DataSourceID="DS2" Filter="StartsWith" DataTextField="Text" DataValueField="Value" InputType="Token" Width="100%" DropDownWidth="300px" DropDownHeight="200px" /></td> </tr> <tr> <td></td> <td> <asp:Button ID="btnUpdate" Text="Update" runat="server" CommandName="Update" /> <asp:Button ID="btnCancel" Text="Cancel" runat="server" CausesValidation="False" CommandName="Cancel"></asp:Button> </td> <td></td> </tr> </table> </FormTemplate> </EditFormSettings> </MasterTableView></telerik:RadGrid>