Hi,
I have a RadGrid with filters. The FilterType is "HeaderContext".
I have restricted the filter options contained in the drop down list according to the field type.
For example, for a numeric field, I use options "GreaterThan", "LessThan" etc. For a string, I use options "Contains", "StartsWith" etc.
To achieve this, I use the following:
<ClientSettings>
<Scrolling AllowScroll="false" />
<ClientEvents OnFilterMenuShowing="FilterMenuShowing" />
</ClientSettings>
<FilterMenu EnableImageSprites="False" OnClientShowing="MenuShowing" />
However, these events are not invoked when the value RadGrid's FilterType is "HeaderContext".
This means that for each data type, the filter option drop down list contains all options, many of which are irrelavant.
Please can you offer some assistance that will enable me to restrict the filter options contained in the DropDownList where the FilterType of the RadGrid is "HeaderContext".
Thanks,
Rob

function txtAutoSearch_Search(sender, args) { if (args.get_value() == null) { sender._element.control._postBackOnSearch = false; } else { sender._element.control._postBackOnSearch = true; }}I am trying to prevent users from creating overlapping events in our calendar. I was able to implement this somewhat successfully using the demo at https://demos.telerik.com/aspnet-ajax/scheduler/examples/limitconcurrentappointments/defaultvb.aspx. I am having an issue though due to the fact that we use a customized Advanced Form template for our events. On insert or update, I can use the ExceedsLimit() function to cancel the insert or update, but the Advanced Form is cleared out and loses all of the information the user has entered. Ideally we would present the user with an error message and allow them to fix the data rather than having to enter it all over from scratch. Is this possible?
I updated the Advanced Insert and Edit Forms demo located at https://demos.telerik.com/aspnet-ajax/scheduler/examples/advancedformtemplate/defaultvb.aspx to demonstrate the issue.
DefaultVB.aspx
<%@ Page Language="vb" AutoEventWireup="true" Inherits="Scheduler.Examples.AdvancedFormTemplate.DefaultVB" CodeFile="DefaultVB.aspx.vb" MasterPageFile="~/MasterPageCDNDisabled.master" %><%@ Register TagPrefix="sds" Namespace="Telerik.Web.SessionDS" %><%@ Register TagPrefix="telerik" Namespace="Telerik.Web.UI" Assembly="Telerik.Web.UI" %><%@ Register TagPrefix="scheduler" TagName="AdvancedForm" Src="AdvancedFormCS.ascx" %><asp:Content ID="Content1" ContentPlaceHolderID="head" runat="Server"> <link rel="Stylesheet" type="text/css" href="styles.css" /></asp:Content><asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceholder1" runat="Server"> <telerik:RadAjaxManager ID="RadAjaxManager1" runat="server"> <AjaxSettings> <telerik:AjaxSetting AjaxControlID="RadScheduler1"> <UpdatedControls> <telerik:AjaxUpdatedControl ControlID="RadScheduler1" LoadingPanelID="RadAjaxLoadingPanel1" /> </UpdatedControls> </telerik:AjaxSetting> </AjaxSettings> </telerik:RadAjaxManager> <telerik:RadAjaxLoadingPanel ID="RadAjaxLoadingPanel1" runat="server" /> <telerik:RadScriptBlock runat="Server" ID="RadScriptBlock1"> <script type="text/javascript" src="scripts.js"></script> </telerik:RadScriptBlock> <telerik:RadNotification runat="server" ID="RadNotification1" Title="Error" TitleIcon="warning" ContentIcon="warning" Position="Center" Width="430px" Height="200px" AutoCloseDelay="10000" ShowSound="warning" Font-Size="Large"> <NotificationMenu Visible="false"></NotificationMenu> </telerik:RadNotification> <div class="demo-container no-bg"> <telerik:RadScheduler RenderMode="Lightweight" runat="server" ID="RadScheduler1" SelectedDate="2012-04-16" OnDataBound="RadScheduler1_DataBound" OnAppointmentCreated="RadScheduler1_AppointmentCreated" OnAppointmentInsert="RadScheduler1_AppointmentInsert" OnAppointmentDataBound="RadScheduler1_AppointmentDataBound" OnClientFormCreated="schedulerFormCreated" CustomAttributeNames="AppointmentColor" EnableDescriptionField="true"> <AdvancedForm Modal="true" EnableTimeZonesEditing="true" /> <Reminders Enabled="true" /> <AppointmentTemplate> <div class="rsAptSubject"> <%# Eval("Subject") %> </div> <%# Eval("Description") %> </AppointmentTemplate> <AdvancedEditTemplate> <scheduler:AdvancedForm runat="server" ID="AdvancedEditForm1" Mode="Edit" Subject='<%# Bind("Subject") %>' Description='<%# Bind("Description") %>' Start='<%# Bind("Start") %>' End='<%# Bind("End") %>' RecurrenceRuleText='<%# Bind("RecurrenceRule") %>' Reminder='<%# Bind("Reminder") %>' AppointmentColor='<%# Bind("AppointmentColor") %>' UserID='<%# Bind("User") %>' RoomID='<%# Bind("Room") %>' TimeZoneID='<%# Bind("TimeZoneID") %>' /> </AdvancedEditTemplate> <AdvancedInsertTemplate> <scheduler:AdvancedForm runat="server" ID="AdvancedInsertForm1" Mode="Insert" Subject='<%# Bind("Subject") %>' Start='<%# Bind("Start") %>' End='<%# Bind("End") %>' Description='<%# Bind("Description") %>' RecurrenceRuleText='<%# Bind("RecurrenceRule") %>' Reminder='<%# Bind("Reminder") %>' AppointmentColor='<%# Bind("AppointmentColor") %>' UserID='<%# Bind("User") %>' RoomID='<%# Bind("Room") %>' TimeZoneID='<%# Bind("TimeZoneID") %>' /> </AdvancedInsertTemplate> <TimelineView UserSelectable="false" /> <TimeSlotContextMenuSettings EnableDefault="true" /> <AppointmentContextMenuSettings EnableDefault="true" /> </telerik:RadScheduler> </div></asp:Content>
DefaultVB.aspx.vb
Imports SystemImports System.Web.UIImports System.DrawingImports System.Web.UI.WebControlsImports Telerik.Web.UINamespace Scheduler.Examples.AdvancedFormTemplate Public Class DefaultVB Inherits System.Web.UI.Page Private Const ProviderSessionKey As String = "Telerik.Web.Examples.Scheduler.AdvancedFormTemplate.DefaultVB" ' You can safely ignore this method. ' Its purpose is to limit the changes to the underlying data only to the active user session. Protected Sub Page_Init(ByVal sender As Object, ByVal e As EventArgs) Dim manager As ScriptManager = RadScriptManager.GetCurrent(Page) manager.Scripts.Add(New ScriptReference(ResolveUrl("AdvancedForm.js"))) Dim provider As XmlSchedulerProvider If ((Session(ProviderSessionKey) Is Nothing) _ OrElse Not IsPostBack) Then provider = New XmlSchedulerProvider(Server.MapPath("~/App_Data/Appointments_CustomTemplates.xml"), False) Session(ProviderSessionKey) = provider Else provider = CType(Session(ProviderSessionKey), XmlSchedulerProvider) End If RadScheduler1.Provider = provider End Sub Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs) RadScheduler1.TimeZoneID = "Pacific Standard Time" End Sub Protected Sub RadScheduler1_DataBound(ByVal sender As Object, ByVal e As EventArgs) RadScheduler1.ResourceTypes.FindByName("User").AllowMultipleValues = True RadScheduler1.ResourceTypes.FindByName("Room").AllowMultipleValues = False End Sub Protected Sub RadScheduler1_AppointmentCreated(ByVal sender As Object, ByVal e As AppointmentCreatedEventArgs) If e.Appointment.RecurrenceState = RecurrenceState.Master OrElse e.Appointment.RecurrenceState = RecurrenceState.Occurrence Then Dim recurrenceStateDiv As New Label() recurrenceStateDiv.CssClass = "rsAptRecurrence" Dim recurrenceStateIcon As New Label() recurrenceStateIcon.CssClass = "t-font-icon t-i-recurrence" recurrenceStateDiv.Controls.Add(recurrenceStateIcon) e.Container.Controls.AddAt(0, recurrenceStateDiv) End If If e.Appointment.RecurrenceState = RecurrenceState.Exception Then Dim recurrenceStateDiv As New Label() recurrenceStateDiv.CssClass = "rsAptRecurrenceException" Dim recurrenceStateIcon As New Label() recurrenceStateIcon.CssClass = "t-font-icon t-i-recurrence-exception" recurrenceStateDiv.Controls.Add(recurrenceStateIcon) e.Container.Controls.AddAt(0, recurrenceStateDiv) End If End Sub Protected Sub RadScheduler1_AppointmentDataBound(ByVal sender As Object, ByVal e As SchedulerEventArgs) Dim colorAttribute As String = e.Appointment.Attributes("AppointmentColor") If Not String.IsNullOrEmpty(colorAttribute) Then Dim colorValue As Integer If Integer.TryParse(colorAttribute, colorValue) Then Dim borderColorValue As Integer = CInt(If(colorValue < -&H7F7F7F, colorValue + &H202020, colorValue - &H202020)) e.Appointment.BackColor = Color.FromArgb(colorValue) e.Appointment.BorderColor = Color.FromArgb(borderColorValue) End If End If e.Appointment.ToolTip = e.Appointment.Subject + ": " + e.Appointment.Description End Sub Protected Sub RadScheduler1_AppointmentInsert(sender As Object, e As SchedulerCancelEventArgs) If ExceedsLimit(e.Appointment) Then e.Cancel = True RadNotification1.Show("Cannot add appointment! There are too many appointments in this time slot. You can only have " & AppointmentsLimit) End If End Sub Private Const AppointmentsLimit As Integer = 1 Private Function ExceedsLimit(apt As Appointment) As Boolean Dim appointmentsCount As Integer = 0 For Each existingApt As Appointment In RadScheduler1.Appointments.GetAppointmentsInRange(apt.Start, apt.[End]) If existingApt.Visible Then appointmentsCount += 1 End If Next Return (appointmentsCount > AppointmentsLimit - 1) End Function End ClassEnd Namespace
<telerik:RadDropDownList ID="rdl_bu" runat="server" DataSourceID="LDS_BU" DefaultMessage="Please select..." DataValueField="BU_ID" DataTextField="BU_name" AutoPostBack="true" ></telerik:RadDropDownList> <asp:RequiredFieldValidator ID="RequiredFieldValidator11" runat="server" ControlToValidate="rdl_bu" InitialValue="Please Select..." ErrorMessage="Please select a Business Unit."></asp:RequiredFieldValidator>

Hi Team,
Can we able to change the colour of pagination button (next, prev next , prev etc..) ?
Regards,
Ramesh.

When I click "add new row", required field validation raises exceptions/constraints one cell at a time. i.e. not allowing the rows data to be entered in any other order / or for the entire row to appear in edit mode.
behavior reproducible on BatchEditing demo page: http://demos.telerik.com/aspnet-ajax/grid/examples/data-editing/batch-editing/defaultcs.aspx
It seems like I would have noticed this before, so maybe it's update related: I have a RadGrid that has Batch Edit row mode enabled.
Is that intended? Can it be changed with an attribute? if not, how about some client side js? I'll be debugging, but would appreciate an available solution.
Thanks

I have a textbox filter on a radgrid and need to get all results between two integers. So I enter "1974 2000" and use the 'between' selection to get all values between 1974 and 2000. I now need to retrieve the current filter expression in order to pass to a stored procedure. I tried using FilterExpression like so:
string EntitySQL = grid.MasterTableView.FilterExpression;
and get: "((Convert.ToInt32(iif(it[InstallationYear\"]==Convert.DBNull,null,it[\"InstallationYear\"])) >= 1974) AND ( Convert.ToInt32(iif(it[\"InstallationYear\"]==Convert.DBNull,null,it[\"InstallationYear\"])) <= 2000))"
But when I use GetEntitySqlFilterExpression like so:
string EntitySQL = grid.MasterTableView.GetEntitySqlFilterExpression();
The result is blank. For some reason GetEntitySqlFilterExpression() does not process the "between" filtering command. I'd like to use this expression because it is much easier to understand and use. Does anyone know why the "between" filtering command is not recognized?
hello
is there any way to filter the combobox by textbox using startwith and highlight all the startwith items ?
thanks