function pageLoad() { if (!Telerik.Web.UI.RadAsyncUpload.Modules.FileApi.isAvailable()) { $(".dropzone h5").hide(); $(".dropzone p").hide(); $(".dropzone").removeClass("dropzone"); } else { $(document).bind({ "drop": function (e) { e.preventDefault(); } }); $(".dropzone").each(function (index) { $(this).bind({ "dragenter": function (e) { dragEnterHandler(e, $(this)); } }) .bind({ "dragleave": function (e) { dragLeaveHandler(e, $(this)); } }) .bind({ "drop": function (e) { dropHandler(e, $(this)); } }); }); }}<%@ Register Src="~/admin/widgets/assetmanager.ascx" TagPrefix="uc" TagName="AssetManager" %><uc:AssetManager runat="server" ID="Slides" /><uc:AssetManager runat="server" ID="Boxes" /><telerik:RadScriptBlock runat="server" ID="RadScriptBlock1"> <script type="text/javascript"> //.Master file needs: function pageLoad() { loadAsync() } //Utils.js - loadAsync(), dropHandler(), dragEnterHandler(), dragLeaveHandler() function fileUploaded<%= AsyncUpload1.ClientID %>(sender, args) { alert("fileUploaded<%= AsyncUpload1.ClientID %>"); $(".invalid.msg" + <%= AsyncUpload1.ClientID %>).hide(); $find("<%=RadAjaxManager.GetCurrent(Page).ClientID %>").ajaxRequest("RebindAssets<%= AsyncUpload1.ClientID %>"); $telerik.$(".invalid.msg" + <%= AsyncUpload1.ClientID %>).html(""); sender.deleteFileInputAt(0); } function validationFailed<%= AsyncUpload1.ClientID %>(sender, args) { alert("validationFailed<%= AsyncUpload1.ClientID %>"); $(".invalid.msg" + <%= AsyncUpload1.ClientID %>).show(); $(".invalid.msg" + <%= AsyncUpload1.ClientID %>).html("Sorry, you are trying to upload an invalid type of file."); if ($(".filetypes").text() != "") { var types = $(".filetypes").text().replace("(", "").replace(")", ""); $(".invalid.msg" + <%= AsyncUpload1.ClientID %>).append(" You can upload the following types of file: " + types + "."); } sender.deleteFileInputAt(0); } </script> <script type="text/javascript"> //Telerik.Web.UI.RadAsyncUpload.Modules.Flash.isAvailable = function () { return false; }; Telerik.Web.UI.RadAsyncUpload.Modules.Silverlight.isAvailable = function () { return false; }; </script></telerik:RadScriptBlock><telerik:RadCodeBlock runat="server" ID="RadCodeBlock1"> <span class="msg error invalid msg<%= AsyncUpload1.ClientID %>" style="display:none;"></span></telerik:RadCodeBlock><div id="pnlDropZone" runat="server" class="dropzone dr{0}"> <h5>To upload, drop files here</h5> <p>or</p> <telerik:RadAsyncUpload runat="server" ID="AsyncUpload1" MultipleFileSelection="Automatic" MaxFileSize="52428800" Localization-Select="Select Files" DropZones=".dropzone" /> </div>Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load Dim manager As RadAjaxManager = RadAjaxManager.GetCurrent(Page) AddHandler manager.AjaxRequest, AddressOf assets_AjaxRequest manager.AjaxSettings.AddAjaxSetting(manager, AsyncUpload1) manager.AjaxSettings.AddAjaxSetting(manager, ddlMoveTo) If Not IsPostBack Then AsyncUpload1.TargetFolder = "~/Images" AsyncUpload1.OnClientFileUploaded = "fileUploaded" & AsyncUpload1.ClientID AsyncUpload1.OnClientValidationFailed = "validationFailed" & AsyncUpload1.ClientID pnlDropZone.Attributes("class") = pnlDropZone.Attributes("class").Replace("{0}", AsyncUpload1.ClientID) End IfEnd SubProtected Sub AsyncUpload1_FileUploaded(sender As Object, e As Telerik.Web.UI.FileUploadedEventArgs) Handles AsyncUpload1.FileUploaded e.File.SaveAs(HttpContext.Current.Server.MapPath("~/images/" & e.File.FileName)) 'Add to databaseEnd Sub.dropzone{ text-align:center; padding:15px; border:dashed 5px #c0c0c0;}.dropzone h5{ margin:0;}.dropzone .RadUpload{ margin:5px auto 0; text-align:center;}.dropzone .RadUpload li{ list-style:none;}.dropzone .RadUpload input.ruFakeInput{ display: none;}<telerik:GridImageColumn DataImageUrlFields="Stage" UniqueName="Stage" DataImageUrlFormatString="Images/{0}.png" ImageAlign="Middle" HeaderText="Step" AllowFiltering="true" ShowFilterIcon="False" AutoPostBackOnFilter="True" ShowSortIcon="False"> <HeaderStyle Width="80px" Font-Bold="true" /> <ItemStyle Width="80px" /> <FilterTemplate> <telerik:RadComboBox ID="StageFilter" runat="server" HighlightTemplatedItems="True" OnClientSelectedIndexChanged="RTAStepFilterChanged" SelectedValue='<%# ((GridItem)Container).OwnerTableView.GetColumn("Stage").CurrentFilterValue %>' Width="51px" DropDownWidth="69px" ShowSortIcon="False"> <ItemTemplate> <div><img src='<%# DataBinder.Eval(Container, "ImageUrl") %>' alt="" /></div> </ItemTemplate> <Items> <telerik:RadComboBoxItem Text="" Value="" ImageUrl="Images/nofilter.png" /> <telerik:RadComboBoxItem Text="1" Value="1" ImageUrl="Images/1.png" /> <telerik:RadComboBoxItem Text="2" Value="2" ImageUrl="Images/2.png" /> <telerik:RadComboBoxItem Text="3" Value="3" ImageUrl="Images/3.png" /> <telerik:RadComboBoxItem Text="4" Value="4" ImageUrl="Images/4.png" /> <telerik:RadComboBoxItem Text="5" Value="5" ImageUrl="Images/5.png" /> <telerik:RadComboBoxItem Text="6" Value="6" ImageUrl="Images/6.png" /> <telerik:RadComboBoxItem Text="7" Value="7" ImageUrl="Images/7.png" /> <telerik:RadComboBoxItem Text="8" Value="8" ImageUrl="Images/8.png" /> <telerik:RadComboBoxItem Text="X" Value="0" ImageUrl="Images/cancel.png" /> </Items> </telerik:RadComboBox> <telerik:RadScriptBlock ID="RadScriptBlock1" runat="server"> <script type="text/javascript"> function RTAStepFilterChanged(sender, args) { var tableView = $find("<%# ((GridItem)Container).OwnerTableView.ClientID %>"); var filterValue = args.get_item().get_value(); tableView.filter("Stage", filterValue, Telerik.Web.UI.GridFilterFunction.Contains); } </script> </telerik:RadScriptBlock> </FilterTemplate></telerik:GridImageColumn>Hi,
I am trying to add required field validation to 2 fields Tag and Description. When user clicks New or Edit, the EditMode is set to popup. Inside the popup, the user needs to populate the Tag and Description input boxes. If both or one is empty/null, then I want to display a message to the user that Tag/Description is a required field, much like the behavior of RequiredFieldValidator. I have found numerous server side examples but no client side examples to accomplish this.
Any and all suggestions are welcomed.
Thanks in advance...
<telerik:RadGrid ID="RadGridTagDetail" runat="server" AllowAutomaticDeletes="True" AllowAutomaticInserts="True" AllowAutomaticUpdates="True" AllowFilteringByColumn="True" AllowPaging="True" DataSourceID="ObjectDataSourceTags" GridLines="None" style="margin-left: 13px" Width="50%" AutoGenerateColumns="False" onitemdeleted="TagDetail_ItemDeleted" oniteminserted="TagDetail_ItemInserted" onitemupdated="TagDetail_ItemUpdated"> <HeaderContextMenu EnableAutoScroll="True"></HeaderContextMenu> <ClientSettings AllowRowsDragDrop="True"> <Selecting AllowRowSelect="True" EnableDragToSelectRows="False" /> <Scrolling AllowScroll="True" UseStaticHeaders="True" /> </ClientSettings> <MasterTableView CommandItemDisplay="Bottom" DataSourceID="ObjectDataSourceTags" DataKeyNames="Id" EditMode="PopUp"> <CommandItemSettings ExportToPdfText="Export to Pdf"></CommandItemSettings> <Columns> <telerik:GridBoundColumn DataField="Id" HeaderText="Tag" SortExpression="Id" UniqueName="Id"> </telerik:GridBoundColumn> <telerik:GridBoundColumn DataField="Descr" HeaderText="Description" SortExpression="Descr" UniqueName="Descr"> </telerik:GridBoundColumn> </Columns> <EditFormSettings InsertCaption="Add new Tag" PopUpSettings-Modal="false"/> <CommandItemTemplate> <telerik:RadToolBar ID="RadToolBarTags" Runat="server" OnClientButtonClicking="RadToolBarTags_OnClientButtonClicking" onbuttonclick="RadToolBarTags_ButtonClick"> <Items> <telerik:RadToolBarButton runat="server" CommandName="InitInsert" Text="New"> </telerik:RadToolBarButton> <telerik:RadToolBarButton runat="server" CommandName="EditSelected" Text="Edit"> </telerik:RadToolBarButton> <telerik:RadToolBarButton runat="server" CommandName="DeleteSelected" Text="Delete"> </telerik:RadToolBarButton> <telerik:RadToolBarButton runat="server" IsSeparator="true"> </telerik:RadToolBarButton> <telerik:RadToolBarButton runat="server" Text="Close" Value="close"> </telerik:RadToolBarButton> </Items> </telerik:RadToolBar> </CommandItemTemplate> </MasterTableView> </telerik:RadGrid><telerik:RadComboBox ID="rcbVendor" AutoPostBack="true" ValueType="System.Int32" DataValueField = "VendorNumber" DataTextField = "VendorName" width="280px" runat="server" />var rntbOrderCode = $find('<%=rntbOrderCode.ClientID %>'); if (rcbVendor != null) { rcbiVendor = rcbVendor.findItemByValue(VendorNumber); if (rcbiVendor == null) { alert (VendorNumber); } else { rcbiVendor.select(); } }<telerik:RadAjaxManager ID="raManager" runat="server"> <AjaxSettings> <telerik:AjaxSetting AjaxControlID="rcbVendor"> <UpdatedControls> <telerik:AjaxUpdatedControl ControlID="rgItems" /> <telerik:AjaxUpdatedControl ControlID="rcbVendor" /> </UpdatedControls> </telerik:AjaxSetting> <telerik:AjaxSetting AjaxControlID="rgItems"> <UpdatedControls> <telerik:AjaxUpdatedControl ControlID="rgItems" /> <telerik:AjaxUpdatedControl ControlID="rcbVendor" /> <telerik:AjaxUpdatedControl ControlID="rntbOrderCode" /> </UpdatedControls> </telerik:AjaxSetting> </AjaxSettings></telerik:RadAjaxManager>
set_cancel(true); does not cancel ClientContextMenuShowing event.
Right click on the Node4 still shows default RadTreeView menu that has "Open", "Open in New Tab", etc
Also all the nodes of RadTreeView are created dynamically by loading XML.
Telerik.Web.UI.dll version is 2010.2.713.35
MyPage.aspx has
<%@ Page Language="VB" AutoEventWireup="false" CodeFile="MyPage.aspx.vb" MasterPageFile="~/MyBase.master" Inherits="MyNamespace.MyPage" %>
<script type="text/javascript">
function ClientContextMenuShowing(sender, eventArgs) {
var node = eventArgs.get_node();
if ((node.get_text() == "Node4")) {
eventArgs.set_cancel(true); // default context menu still displays
alert("After set_cancel for " + node.get_text()); // displayed
}
}
</script>
<AjaxSettings>
<telerik:AjaxSetting AjaxControlID="Timer1">
<UpdatedControls>
<telerik:AjaxUpdatedControl ControlID="menu1" />
</UpdatedControls>
</telerik:AjaxSetting>
<asp:timer id="Timer1" runat="server" interval="300000">
</asp:timer>
MyBase.master has
<td width="100%" valign="top">
<div id="Div1" style="display:none;">
<telerik:RadTreeView ID="menu1" EnableEmbeddedSkins="false" runat="server" Width="220px" ShowLineImages="false" style="display:inline-block; overflow: hidden">
</telerik:RadTreeView>
</div>
</td>
MyPage.aspx.vb has
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
If Not Page.IsPostBack Then
Timer1Tick(sender, e)
End If
End Sub
Protected Sub Timer1Tick(ByVal sender As Object, ByVal e As System.EventArgs) Handles Timer1.Tick
LoadMyMenu()
End Sub
Private Sub LoadMyMenu()
Dim objMenu As Telerik.Web.UI.RadTreeView = CType(m.GetMasterMenu(), Telerik.Web.UI.RadTreeView)
Dim objUIService As New UIService(objUserSession)
Dim objMenuData = objUIService.GetMenus(0)
Dim XMLMenuItem = objMenuData.Item(0)
objMenu.LoadXml(XMLMenuItem.XMLMenu.ToString)
objMenu.Width = "220
‘This line works: objMenu.Nodes.FindNodeByText("Node1").Nodes.FindNodeByText("Node2").Nodes.FindNodeByText("Node3").Nodes.FindNo deByText("Node4").Text = "Node4”
‘This line does Not cancel default context menu:
objMenu.Nodes.FindNodeByText("Node1").Nodes.FindNodeByText("Node2").Nodes.FindNodeByText("Node3").Nodes.FindNodeByText("Node4"). EnableContextMenu = False
‘This, together with ClientContextMenuShowing() java script function ()se above does Not cancel default context menu also:
objMenu.OnClientContextMenuShowing = "ClientContextMenuShowing"
End Sub
So, how to cancel default context menu in my case for a particular node or set of nodes. Thank you