| <html xmlns="http://www.w3.org/1999/xhtml"> | |
| <head id="Head1" runat="server"> | |
| <title></title> | |
| <link id="UICSS" rel="stylesheet" type="text/css" href="../Styles/ui.css" /> | |
| <style type="text/css"> | |
| html, body, form | |
| { | |
| height: 100%; | |
| margin: 0px; | |
| padding: 0px; | |
| overflow: hidden; | |
| } | |
| </style> | |
| </head> | |
| <body> | |
| <form id="form1" runat="server"> | |
| <telerik:RadScriptManager ID="RadScriptManager1" runat="server"> | |
| </telerik:RadScriptManager> | |
| <telerik:RadTabStrip ID="RadTabStrip3" runat="server" Skin="Office2007" Width="100%" | |
| MultiPageID="RadMultiPage1" SelectedIndex="0"> | |
| <Tabs> | |
| <telerik:RadTab Text="Lead Details"> | |
| </telerik:RadTab> | |
| <telerik:RadTab Text="Life Insurance"> | |
| </telerik:RadTab> | |
| </Tabs> | |
| </telerik:RadTabStrip> | |
| <telerik:RadMultiPage ID="RadMultiPage1" runat="server" SelectedIndex="0"> | |
| <telerik:RadPageView runat="server" ID="RadPageView1"> | |
| <uc2:LeadDetails ID="LeadDetails1" | |
| runat="server" /> THIS IS WHERE I LOAD THE CONTROL | |
| </telerik:RadPageView> | |
| <telerik:RadPageView runat="server" ID="RadPageView2"> | |
| My Life Insurance | |
| </telerik:RadPageView> | |
| </telerik:RadMultiPage> | |
| </form> | |
| </body> | |
| </html> |
Hello
I have a custom validator attached to a column. Here is the item_created event
protected void radDeferredIncome_ItemCreated(object sender, GridItemEventArgs e)
{
if (e.Item is GridEditableItem && e.Item.IsInEditMode)
{
GridEditableItem item = e.Item as GridEditableItem;
GridTextBoxColumnEditor editor = (GridTextBoxColumnEditor)item.EditManager.GetColumnEditor("AdvanceVarianceComment");
TableCell cell = (TableCell)editor.TextBoxControl.Parent;
GridNumericColumnEditor proposed = (GridNumericColumnEditor)item.EditManager.GetColumnEditor("ProposedAdvanceTargetAmount");
GridNumericColumnEditor expected = (GridNumericColumnEditor)item.EditManager.GetColumnEditor("ExpectedAdvanceTargetAmount");
CustomValidator val = new CustomValidator();
editor.TextBoxControl.ID = "AdvanceVarianceComments";
val.ControlToValidate = editor.TextBoxControl.ID;
val.ErrorMessage = "*";
val.Attributes.Add("proposed", proposed.NumericTextBox.ClientID);
val.Attributes.Add("expected", expected.NumericTextBox.ClientID);
val.ClientValidationFunction = "advanceVarianceValidation";
cell.Controls.Add(val);
}
}
I am using in-grid editing. I am passing in 2 attributes that are the clientId's of the 2 textboxes i need to compare. Basically, If the difference
between the 2 textboxes is not zero and a comments textbox is blank that the row is not valid.
The javascript is below.
<
telerik:RadCodeBlock ID="RadCodeBlock1" runat="server">
<script type="text/javascript" language="javascript">
function advanceVarianceValidation(sender, args) {
var isValid = true;
var proposed = document.getElementById(sender.attributes["proposed"].value).value;
var expected = document.getElementById(sender.attributes["expected"].value).value;
alert(proposed +
',' + expected);
if ((proposed - expected) != 0) {
if (args.value == null || args.value.length == 0) {
isValid =
false;
}
}
args.IsValid = isValid;
}
</script>
</telerik:RadCodeBlock>
This works if i am editing the first row but the validation does not fire if i am editing any other.
Anyone have any ideas.
Thanks,
John
| <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %> |
| <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> |
| <html xmlns="http://www.w3.org/1999/xhtml"> |
| <head runat="server"> |
| <title>Untitled Page</title> |
| </head> |
| <body> |
| <form id="form1" runat="server"> |
| <telerik:RadScriptManager ID="RadScriptManager1" runat="server"> |
| </telerik:RadScriptManager> |
| <br /> |
| <telerik:RadUpload ID="RadUpload1" runat="server" TargetFolder="Uploads"> |
| </telerik:RadUpload> |
| <br /> |
| <asp:Button ID="Button1" runat="server" Text="Upload" /><br /> |
| <telerik:RadProgressManager ID="RadProgressManager1" runat="server" /> |
| <br /> |
| <telerik:RadProgressArea ID="RadProgressArea1" runat="server"> |
| </telerik:RadProgressArea> |
| </form> |
| </body> |
| </html> |
| using System; |
| using System.Collections.Specialized; |
| using System.Web; |
| public class OverrideApp : HttpApplication |
| { |
| public OverrideApp() |
| { |
| PostResolveRequestCache += PopulateContext; |
| } |
| public void PopulateContext(object sender, EventArgs e) |
| { |
| Object context = new object(); |
| BuildContext(context, Request.Params); |
| } |
| private void BuildContext(object context, NameValueCollection nameValueCollection) |
| { |
| return; |
| } |
| } |
| <%@ Application Language="C#" Inherits="OverrideApp" %> |
| <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Main.aspx.cs" Inherits="AudWeb.Main" %> |
| <%@ Register Assembly="Telerik.Web.UI" Namespace="Telerik.Web.UI" TagPrefix="telerik" %> |
| <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> |
| <html xmlns="http://www.w3.org/1999/xhtml" > |
| <head runat="server"> |
| <title></title> |
| <script type="text/javascript"> |
| function pageLoad() { |
| } |
| </script> |
| <style type="text/css"> |
| html, body, form |
| { |
| height: 100%; |
| padding: 0px; |
| margin: 0px; |
| } |
| </style> |
| </head> |
| <body> |
| <form id="form1" runat="server"> |
| <telerik:RadScriptManager ID="RadScriptManager1" runat="server"> |
| </telerik:RadScriptManager> |
| <div style="height:5%;"> |
| <telerik:RadToolBar ID="RadToolBar1" runat="server" Skin="Vista" Width="100%"> |
| <Items> |
| <telerik:RadToolBarButton runat="server" Text="Button 0"> |
| </telerik:RadToolBarButton> |
| <telerik:RadToolBarButton runat="server" Text="Button 1"> |
| </telerik:RadToolBarButton> |
| <telerik:RadToolBarButton runat="server" Text="Button 2"> |
| </telerik:RadToolBarButton> |
| <telerik:RadToolBarButton runat="server" Text="Button 3"> |
| </telerik:RadToolBarButton> |
| <telerik:RadToolBarButton runat="server" Text="Button 4"> |
| </telerik:RadToolBarButton> |
| <telerik:RadToolBarButton runat="server" Text="Button 5"> |
| </telerik:RadToolBarButton> |
| </Items> |
| </telerik:RadToolBar> |
| </div> |
| <div id="ParentDivElement" style="height:95%;"> |
| <telerik:RadSplitter ID="RadSplitter1" runat="server" LiveResize="True" |
| Height="100%" Width="100%"> |
| <telerik:RadPane ID="RadPane1" runat="server" |
| MinHeight="0" MinWidth="200" MaxWidth="200" Width="200px"> |
| <telerik:RadPanelBar ID="RadPanelBar1" Runat="server" |
| onitemclick="RadPanelBar1_ItemClick" Width="200px" Skin="Vista"> |
| <Items> |
| <telerik:RadPanelItem runat="server" Text="Client" Value ="1"> |
| </telerik:RadPanelItem> |
| <telerik:RadPanelItem runat="server" Text="Appointments" Value ="2"> |
| </telerik:RadPanelItem> |
| <telerik:RadPanelItem runat="server" Text="Visits" Value ="3"> |
| </telerik:RadPanelItem> |
| <telerik:RadPanelItem runat="server" Text="Hearing Aids" Value ="4"> |
| </telerik:RadPanelItem> |
| </Items> |
| </telerik:RadPanelBar> |
| </telerik:RadPane> |
| <telerik:RadSplitBar ID="RadSplitBar1" runat="server" CollapseMode="Forward" /> |
| <telerik:RadPane ID="RadPane2" runat="server" ContentUrl="http://www.google.com"> |
| </telerik:RadPane> |
| </telerik:RadSplitter> |
| </div> |
| </form> |
| </body> |
| </html> |
| using System; |
| using System.Collections.Generic; |
| using System.Linq; |
| using System.Web; |
| using System.Web.UI; |
| using System.Web.UI.WebControls; |
| using Telerik.Web.UI; |
| namespace AudWeb |
| { |
| public partial class Main : System.Web.UI.Page |
| { |
| protected void Page_Load(object sender, EventArgs e) |
| { |
| } |
| protected void RadPanelBar1_ItemClick(object sender, Telerik.Web.UI.RadPanelBarEventArgs e) |
| { |
| RadPanelItem Itemclicked = e.Item; |
| string name = Itemclicked.Value; |
| int n = int.Parse(name); |
| switch (n) |
| { |
| case 1: |
| RadPane2.ContentUrl = @"~\Client.aspx"; |
| break; |
| case 2: |
| RadPane2.ContentUrl = @"~\Appointment.aspx"; |
| break; |
| case 3: |
| RadPane2.ContentUrl = @"~\Visit.aspx"; |
| break; |
| case 4: |
| RadPane2.ContentUrl = @"~\HA.aspx"; |
| break; |
| } |
| //RadPane2.ContentUrl = @"~\" + Itemclicked.Text + ".html"; |
| } |
| } |
| } |
| public void ShowListings(XmlDocument doc) |
| { |
| XmlNodeList nodes = doc.GetElementsByTagName("result"); |
| foreach (XmlNode node in nodes) |
| { |
| Panel pnl = new Panel(); |
| pnl.Controls.Add(new LiteralControl("panel")); |
| PlaceHolder1.Controls.Add(pnl); |
| Telerik.Web.UI.RadToolTip rtt = new Telerik.Web.UI.RadToolTip(); |
| rtt.Width = pnl.Width; |
| rtt.ShowEvent = Telerik.Web.UI.ToolTipShowEvent.OnClick; |
| rtt.ShowCallout = true; |
| rtt.TargetControlID = pnl.ClientID; |
| rtt.Text = "test"; |
| rtt.RelativeTo = Telerik.Web.UI.ToolTipRelativeDisplay.Element; |
| rtt.Animation = Telerik.Web.UI.ToolTipAnimation.Slide; |
| rtt.Skin = "Sunset"; |
| rtt.OffsetY = -12; |
| rtt.HideEvent = Telerik.Web.UI.ToolTipHideEvent.ManualClose; |
| rtt.HideDelay = 100; |
| rtt.ShowDelay = 100; |
| PlaceHolder1.Controls.Add(rtt); |
| } |
| } |
| <telerik:RadAjaxManager ID="RadAjaxManager1" runat="server" UpdatePanelsRenderMode="Inline"> | ||||
| <AjaxSettings> | ||||
| <telerik:AjaxSetting AjaxControlID="Timer1"> | ||||
| <UpdatedControls> | ||||
| <telerik:AjaxUpdatedControl ControlID="RadAjaxPanel1" LoadingPanelID="LoadingPanel1" /> | ||||
| </UpdatedControls> | ||||
| </telerik:AjaxSetting> | ||||
| </AjaxSettings> | ||||
| </telerik:RadAjaxManager> | <telerik:RadAjaxPanel ID="RadAjaxPanel1" runat="server" LoadingPanelID="LoadingPanel1"> | </telerik:RadAjaxPanel> | ||
| <telerik:RadAjaxLoadingPanel ID="LoadingPanel1" runat="server" Skin="Vista"/> | ||||
| <asp:Panel ID="Panel1" runat="server"> | ||||
| <asp:Timer ID="Timer1" runat="server" Interval="15000" OnTick="Timer1_Tick" /> | ||||
| </asp:Panel> |