Telerik Forums
UI for ASP.NET MVC Forum
1 answer
208 views

How do I filter when I have the option for multiple selections using the Separator property

I have a Read action set up which passes the search data through to my controller and I have a client side script set up for the additional data

When a user has selected one user and then starts typing for the second user this pass "Name One; Nam" to the controller.

$("#distributionList").val() is passing the whole string and not the new search for the second name. How can I pass just the text that is being typed in and not the previously selected users.

 

1.function onDistributionListAdditionalData(obj) {
2.                return {
3.                    text: $("#distributionList").val()
4.                };
5.            }

Peter Milchev
Telerik team
 answered on 02 Aug 2016
1 answer
402 views

So I have a large list of Id's that I want to create a filter for and return. I was just adding a FilterDescriptor for each one but I found that once it got over a certain amount I get a stack overflow error. So I am trying to use the IsContainedIn operator.

 

 

private static void AddSiteIdFilterToRequest(DataSourceRequest request, IList<Guid> siteGuidList, string columnName)
{
if (siteGuidList == null || !siteGuidList.Any()) return;

            var filterCollection = new CompositeFilterDescriptor { LogicalOperator = FilterCompositionLogicalOperator.Or };
            filterCollection.FilterDescriptors.Add(new FilterDescriptor { Member = columnName, MemberType = typeof(Guid), Operator = FilterOperator.IsContainedIn, Value = siteGuidList });
            request.Filters.Add(filterCollection);
        }

Maria Ilieva
Telerik team
 answered on 02 Aug 2016
3 answers
323 views

I have implemented a custom tooltip for the scheduler.  works great.

BUT - on mouse over the "title" popup is appearing along with the tooltip.

Question - How do I disable the "title" popup.

I tried using
    $("#scheduler").kendoCalendar({
        //....
        navigate: function (e) {
            this.element.find("tbody").find("a").removeAttr("title");
        }
    });
and it messed up the whole formatting of the calendar

Plamen
Telerik team
 answered on 02 Aug 2016
4 answers
162 views

We are getting a script error in kendo.all.js file when tried to load the below text in Kendo Editor control, this causes the remaining kendo controls to stop rendering properly.

The text has been copied from ms word and pasted to Editor control. The text is like the following, actually only the text is the only item that we copy from MS word but we are getting other formatting when we paste it to kendo editor.

 

Also attaching a screenshot of the error we are getting.

&lt;span data-sheets-userformat="{"2":19005,"3":{"1":0},"5":{"1":[{"1":2,"2":0,"5":{"1":2,"2":0}},{"1":0,"2":0,"3":3},{"1":1,"2":0,"4":1}]},"6":{"1":[{"1":2,"2":0,"5":{"1":2,"2":0}},{"1":0,"2":0,"3":3},{"1":1,"2":0,"4":1}]},"7":{"1":[{"1":2,"2":0,"5":{"1":2,"2":0}},{"1":0,"2":0,"3":3},{"1":1,"2":0,"4":1}]},"8":{"1":[{"1":2,"2":0,"5":{"1":2,"2":0}},{"1":0,"2":0,"3":3},{"1":1,"2":0,"4":1}]},"12":0,"14":{"1":2,"2":0},"17":1}" data-sheets-value="{"1":2,"2":"REAL-TIME BUSINESS INTELLIGENCE ON THE 'PRODUCT MANAGEMENT' FUNCTION, DRIVEN BY ONGOING 360-DEGREE ENTERPRISE &amp; STAKEHOLDER COLLABORATION:\n \u2022 ENGAGE internal employees and other key stakeholders in an ongoing 360-degree real-time feedback process that focuses onCritical Success Factors (CSFs)for the Product Management function.\n \u2022 EVALUATE the effectiveness of five key areas within the Product Management function: (1) People &amp; Leadership, (2) Analytics &amp; Insights, (3) Strategy &amp; Planning, (4) Execution &amp; Process, and (5) Performance &amp; Results, with fully customizable 360-degree surveys.\n \u2022 LEVERAGE cutting-edge technology with Performax360 Unified Enterprise Performance Management Application Platform: Adaptive Neuro-Fuzzy Inference System, Context-Aware Intelligent Recommendation System, Stakeholder Sentiment Analysis driven by Cognitive Computing, the world's largest 'Best Practices' knowledgebase, Expert Panels comprising your Subject Matter Experts, and Real-Time Collaboration Hubs.\n \u2022 GAIN real-time, ongoing, and collaborative business intelligence on effectiveness trends within the Product Management function: identification of strengths and weaknesses, SWOT analysis, stakeholder sentiment analysis, Key Performance Indicators, and prioritized Ideas for Action.\n \u2022 VIEW &amp; SHARE real-time assessment results through an interactive online format, or download them in PDF report or PowerPoint Presentation formats.\n \u2022 TRACK &amp; MANAGE ongoing performance improvements within the Product Management function, by appointing a Key Person Accountable for specific action items, tracking real-time progress updates on action-plan implementation, and following task updates and real-time Gantt Charts.\n \n  "}" style="font-size:13px;font-family:arial, sans, sans-serif;font-weight:bold;"&gt;REAL-TIME BUSINESS INTELLIGENCE ON THE 'PRODUCT MANAGEMENT' FUNCTION, DRIVEN BY ONGOING 360-DEGREE ENTERPRISE &amp;amp; STAKEHOLDER COLLABORATION:&lt;br /&gt;&amp;bull; ENGAGE internal employees and other key stakeholders in an ongoing 360-degree real-time feedback process that focuses onCritical Success Factors (CSFs)for the Product Management function.&lt;br /&gt;&amp;bull; EVALUATE the effectiveness of five key areas within the Product Management function: (1) People &amp;amp; Leadership, (2) Analytics &amp;amp; Insights, (3) Strategy &amp;amp; Planning, (4) Execution &amp;amp; Process, and (5) Performance &amp;amp; Results, with fully customizable 360-degree surveys.&lt;br /&gt;&amp;bull; LEVERAGE cutting-edge technology with Performax360 Unified Enterprise Performance Management Application Platform: Adaptive Neuro-Fuzzy Inference System, Context-Aware Intelligent Recommendation System, Stakeholder Sentiment Analysis driven by Cognitive Computing, the world's largest 'Best Practices' knowledgebase, Expert Panels comprising your Subject Matter Experts, and Real-Time Collaboration Hubs.&lt;br /&gt;&amp;bull; GAIN real-time, ongoing, and collaborative business intelligence on effectiveness trends within the Product Management function: identification of strengths and weaknesses, SWOT analysis, stakeholder sentiment analysis, Key Performance Indicators, and prioritized Ideas for Action.&lt;br /&gt;&amp;bull; VIEW &amp;amp; SHARE real-time assessment results through an interactive online format, or download them in PDF report or PowerPoint Presentation formats.&lt;br /&gt;&amp;bull; TRACK &amp;amp; MANAGE ongoing performance improvements within the Product Management function, by appointing a Key Person Accountable for specific action items, tracking real-time progress updates on action-plan implementation, and following task updates and real-time Gantt Charts.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;

Ianko
Telerik team
 answered on 02 Aug 2016
7 answers
285 views

Hi,

Trying out scheduler with custom editor. Looked and tried out examples provided, works great. But when I tried creating my own, with dropDownList, numericTextBox, etc.

Somehow validation errors shows up (which are blank) at custom editor. 

I already looked up TroubleShooting> Validation.

Below is my code based on custom-editor scheduler example:

View:

01.@using TelerikDemo2.Models;
02.@(
03.    Html.Kendo().Scheduler<SchedulerViewModel>()
04.        .Name("scheduler")
05.        .Date(DateTime.Now)
06.        .StartTime(DateTime.Now)
07.        .Height(600)
08.        .Views(
09.            views =>
10.            {
11.                views.DayView(a => a.Selected(true));
12.                views.WeekView();
13.                views.MonthView();
14.            }
15.        )
16.        .Editable(e =>
17.        {
18.            e.TemplateName("CustomEditorTemplate");
19.        })
20.        .Timezone("Etc/UTC")
21.        .DataSource(d=>d
22.            .Model(m=> {
23.                m.Id(f => f.TaskID);
24.                m.Field(f => f.Title).DefaultValue("No title");
25.                m.RecurrenceId(f => f.RecurrenceID);
26.            })
27.            .Events(e => e.Error("error_handler"))
28.            .Read("Read", "Home")
29.            .Create("Create", "Home")
30.        )
31.)
32. 
33.<script type="text/javascript">
34.    $.validator.setDefaults({
35.        ignore: ""
36.    });
37. 
38.    kendo.ui.validator.rules.mvcdate = function (input) {
39.        return input.val() === "" || kendo.parseDate(input.val(), "dd/MM/yyyy") != null
40.    }
41. 
42.    function error_handler(e) {
43.        if (e.errors) {
44.            var message = "Errors:\n";
45.            $.each(e.errors, function (key, value) {
46.                if ('errors' in value) {
47.                    $.each(value.errors, function () {
48.                        message += this + "\n";
49.                    });
50.                }
51.            });
52.            alert(message);
53. 
54.            var scheduler = $("#scheduler").data("kendoScheduler");
55.            scheduler.one("dataBinding", function (e) {
56.                //prevent saving if server error is thrown
57.                e.preventDefault();
58.            })
59.        }
60.    }
61.</script>

CustomEditorTemplate:

001.@model TelerikDemo2.Models.SchedulerViewModel
002. 
003.@{
004.    ViewContext.FormContext = new FormContext();
005.}
006. 
007.@functions{
008.    public Dictionary<string, object> generateDatePickerAttributes(
009.           string elementId,
010.           string fieldName,
011.           string dataBindAttribute,
012.           Dictionary<string, object> additionalAttributes = null)
013.    {
014. 
015.        Dictionary<string, object> datePickerAttributes = additionalAttributes != null ? new Dictionary<string, object>(additionalAttributes) : new Dictionary<string, object>();
016. 
017.        datePickerAttributes["id"] = elementId;
018.        datePickerAttributes["name"] = fieldName;
019.        datePickerAttributes["data-bind"] = dataBindAttribute;
020.        datePickerAttributes["required"] = "required";
021.        datePickerAttributes["style"] = "z-index: inherit;";
022. 
023.        return datePickerAttributes;
024.    }
025.}
026. 
027.<div class="k-edit-label">
028.    @(Html.LabelFor(m=>m.PatientName))
029.</div>
030.<div data-container-for="patientName" class="k-edit-field">
031.    @(
032.        Html.Kendo().DropDownListFor(model=>model.PatientName)
033.            .OptionLabel("Select a Person")
034.            .DataTextField("PatientName")
035.            .DataValueField("PatientId")
036.            .DataSource(s =>
037.            {
038.                s.Read(r =>
039.                {
040.                    r.Action("GetPatients", "Home");
041.                })
042.                .ServerFiltering(true);
043.            })
044.            .HtmlAttributes(new { style = "width:100%" })
045.    )
046.    @Html.ValidationMessageFor(m=>m.PatientName)
047.</div>
048. 
049.<div class="k-edit-label">
050.    @(Html.LabelFor(model => model.Attendance))
051.</div>
052.<div data-container-for="attendance" class="k-edit-field">
053.    @(Html.Kendo().DropDownListFor(model => model.Attendance)
054.        .OptionLabel("Select Attendance Type")
055.        .DataTextField("Text")
056.        .DataValueField("Value")
057.        .BindTo(new List<SelectListItem>()
058.        {
059.            new SelectListItem()
060.            {
061.                Text = "OK",
062.                Value = "1"
063.            },
064.            new SelectListItem()
065.            {
066.                Text = "NS",
067.                Value = "2"
068.            },
069.            new SelectListItem()
070.            {
071.                Text = "CX",
072.                Value = "3"
073.            }
074.        })
075.        .HtmlAttributes(new { style = "width:100%" })
076.    )
077.    @Html.ValidationMessageFor(m=>m.Attendance)
078.</div>
079. 
080.<div class="k-edit-label">
081.    @Html.LabelFor(model=>model.Today)
082.</div>
083.<div data-container-for="today" class="k-edit-field">
084.    @(Html.Kendo().NumericTextBoxFor(m=>m.Today)
085.        .Min(0)
086.        .Max(100)
087.        .Value(0)
088.        .HtmlAttributes(new { style="width:100%" })
089.    )
090.    @Html.ValidationMessageFor(m => m.Today)
091.</div>
092. 
093.<div class="k-edit-label">
094.    @Html.LabelFor(model => model.Copay)
095.</div>
096.<div data-container-for="copay" class="k-edit-field">
097.    @(Html.Kendo().NumericTextBoxFor(m => m.Copay)
098.        .Min(0)
099.        .Max(100)
100.        .Value(0)
101.        .HtmlAttributes(new { style = "width:100%" })
102.    )
103.    @Html.ValidationMessageFor(m => m.Copay)
104.</div>
105. 
106.<div class="k-edit-label">
107.    @Html.LabelFor(model => model.ExtraService)
108.</div>
109.<div data-container-for="extraService" class="k-edit-field">
110.    @(Html.Kendo().NumericTextBoxFor(m => m.ExtraService)
111.        .Min(0)
112.        .Max(100)
113.        .Value(0)
114.        .HtmlAttributes(new { style = "width:100%" })
115.    )
116.    @Html.ValidationMessageFor(m => m.ExtraService)
117.</div>
118. 
119.<div class="k-edit-label">
120.    @(Html.LabelFor(model => model.Start))
121.</div>
122.<div data-container-for="start" class="k-edit-field">
123.    @(Html.Kendo().DateTimePickerFor(model => model.Start)
124.        .HtmlAttributes(generateDatePickerAttributes("startDateTime", "start", "value:start,invisible:isAllDay")))
125. 
126.    @(Html.Kendo().DatePickerFor(model => model.Start)
127.        .HtmlAttributes(generateDatePickerAttributes("startDate", "start", "value:start,visible:isAllDay")))
128.    @Html.ValidationMessageFor(m => m.Start)
129.</div>
130. 
131.<div class="k-edit-label">
132.    @(Html.LabelFor(model => model.End))
133.</div>
134.<div data-container-for="end" class="k-edit-field">
135.    @(Html.Kendo().DateTimePickerFor(model => model.End)
136.        .HtmlAttributes(generateDatePickerAttributes(
137.            "endDateTime",
138.            "end",
139.            "value:end,invisible:isAllDay",
140.            new Dictionary<string, object>() { { "data-dateCompare-msg", "End date should be greater than or equal to the start date" } })))
141. 
142.    @(Html.Kendo().DatePickerFor(model => model.End)
143.        .HtmlAttributes(generateDatePickerAttributes(
144.            "endDate",
145.            "end",
146.            "value:end,visible:isAllDay",
147.            new Dictionary<string, object>() { { "data-dateCompare-msg", "End date should be greater than or equal to the start date" } })))
148.    @Html.ValidationMessageFor(m => m.End)
149.</div>
150. 
151.<div class="k-edit-label">
152.    @(Html.LabelFor(model => model.IsAllDay))
153.</div>
154.<div data-container-for="isAllDay" class="k-edit-field">
155.    <input data-bind="checked: isAllDay" data-val="true" id="isAllDay" name="isAllDay" type="checkbox" />
156.    @Html.ValidationMessageFor(m => m.IsAllDay)
157.</div>
158. 
159.<div class="k-edit-label">
160.    @(Html.LabelFor(model => model.RecurrenceRule))
161.</div>
162.<div data-container-for="recurrenceRule" class="k-edit-field">
163.    @(Html.Kendo().RecurrenceEditorFor(model => model.RecurrenceRule)
164.        .HtmlAttributes(new { data_bind = "value:recurrenceRule" }))
165.    @Html.ValidationMessageFor(m => m.RecurrenceRule)
166.</div>

 

Model:

01.public class SchedulerViewModel : ISchedulerEvent
02.    {
03.        public int TaskID { get; set; }
04.        public string Title { get; set; }
05.        public string Description { get; set; }
06. 
07.        private DateTime start;
08.        [Required]
09.        public DateTime Start
10.        {
11.            get
12.            {
13.                return start;
14.            }
15.            set
16.            {
17.                start = value.ToUniversalTime();
18.            }
19.        }
20. 
21.        public string StartTimezone { get; set; }
22. 
23.        private DateTime end;
24.        [Required]
25.        public DateTime End
26.        {
27.            get
28.            {
29.                return end;
30.            }
31.            set
32.            {
33.                end = value.ToUniversalTime();
34.            }
35.        }
36. 
37.        public string EndTimezone { get; set; }
38. 
39.        [Display(Name ="Recurrence")]
40.        public string RecurrenceRule { get; set; }
41. 
42.        public int? RecurrenceID { get; set; }
43.        public string RecurrenceException { get; set; }
44.        public bool IsAllDay { get; set; }
45.        public int? OwnerID { get; set; }
46. 
47.        [Required]
48.        [Display(Name ="Person")]
49.        public string PatientName { get; set; }
50. 
51.        public string Attendance { get; set; }
52.        public int Today { get; set; }
53.        public int Copay { get; set; }
54.        public int ExtraService { get; set; }
55. 
56.        public Task ToEntity()
57.        {
58.            return new Task
59.            {
60.                TaskID = TaskID,
61.                Title = Title,
62.                Start = Start,
63.                StartTimezone = StartTimezone,
64.                End = End,
65.                EndTimezone = EndTimezone,
66.                Description = Description,
67.                RecurrenceRule = RecurrenceRule,
68.                RecurrenceException = RecurrenceException,
69.                RecurrenceID = RecurrenceID,
70.                IsAllDay = IsAllDay,
71.                OwnerID = OwnerID,
72.                PatientName = PatientName,
73.                Attendance = Attendance,
74.                Copay = Copay,
75.                ExtraService = ExtraService,
76.                TodayCopay = Today
77.            };
78.        }
79.    }

What did I do wrong? Help please? Thanks.

Marc Perry
Top achievements
Rank 1
 answered on 01 Aug 2016
1 answer
126 views
I have bind the source kendo treeview structure with the help of database , and now i want to copy selected values of  treeview structure to destination treeview structure as it is. if there are 2 parent node and each have 2 child node. then if i select one of parent node then , it should get copy into destination treeview structure with selected parent node and its children.
Dimitar
Telerik team
 answered on 01 Aug 2016
1 answer
131 views

I am running my site against tools.pingdom.com and am getting the message that I should Specify a Vary: Accept-Encoding header for the Kendo CDN files, which I am referending using https://. Attached image shows the message I'm getting.

Am I able to do this and, if so, where and how?

Thanks.

T. Tsonev
Telerik team
 answered on 01 Aug 2016
2 answers
681 views

I want to use the control for time only. Could I hide the date button ?

Best regards

Viktor Tachev
Telerik team
 answered on 01 Aug 2016
3 answers
238 views

Hello!
We had a issue with the grid filter, located on the modal window.
If your browser window has a vertical scroll, the filters that do not fit in the pop-up window,
displaying and hiding immediately.
The contents of the pop-up window is in the iframe.
The problem is typical for IE11.
The example in the attachment.

Kendo version: 2015.2.805

Danail Vasilev
Telerik team
 answered on 29 Jul 2016
1 answer
376 views

Hello I have a grid inside a horizontal Pane inside a splitter pane. I need the splitter pane to increase its height automatically according the size of the grid and not trigger scrolling inside the splitter.

Thank you

Ianko
Telerik team
 answered on 29 Jul 2016
Narrow your results
Selected tags
Tags
Grid
General Discussions
Scheduler
DropDownList
Chart
Editor
TreeView
DatePicker
Upload
ComboBox
MultiSelect
ListView
Window
TabStrip
Menu
Installer and VS Extensions
Spreadsheet
AutoComplete
TreeList
Gantt
PanelBar
NumericTextBox
Filter
ToolTip
Map
Diagram
Button
PivotGrid
Form
ListBox
Splitter
Application
FileManager
Sortable
Calendar
View
MaskedTextBox
PDFViewer
TextBox
Toolbar
MultiColumnComboBox
Dialog
DropDownTree
Checkbox
Slider
Switch
Notification
ListView (Mobile)
Pager
Accessibility
ColorPicker
DateRangePicker
Wizard
Security
Styling
Chat
MediaPlayer
TileLayout
DateInput
Drawer
SplitView
Template
Barcode
ButtonGroup (Mobile)
Drawer (Mobile)
ImageEditor
RadioGroup
Sparkline
Stepper
TabStrip (Mobile)
GridLayout
Badge
LinearGauge
ModalView
ResponsivePanel
TextArea
Breadcrumb
ExpansionPanel
Licensing
Rating
ScrollView
ButtonGroup
CheckBoxGroup
NavBar
ProgressBar
QRCode
RadioButton
Scroller
Timeline
TreeMap
TaskBoard
OrgChart
Captcha
ActionSheet
Signature
DateTimePicker
AppBar
BottomNavigation
Card
FloatingActionButton
Localization
MultiViewCalendar
PopOver (Mobile)
Ripple
ScrollView (Mobile)
Switch (Mobile)
PivotGridV2
FlatColorPicker
ColorPalette
DropDownButton
AIPrompt
PropertyGrid
ActionSheet (Mobile)
BulletGraph
Button (Mobile)
Collapsible
Loader
CircularGauge
SkeletonContainer
Popover
HeatMap
Avatar
ColorGradient
CircularProgressBar
SplitButton
StackLayout
TimeDurationPicker
Chip
ChipList
DockManager
ToggleButton
Sankey
OTPInput
ChartWizard
SpeechToTextButton
InlineAIPrompt
TimePicker
StockChart
RadialGauge
ContextMenu
ArcGauge
AICodingAssistant
+? more
Top users last month
Top achievements
Rank 1
Iron
Iron
Iron
Rob
Top achievements
Rank 3
Bronze
Bronze
Iron
ivory
Top achievements
Rank 1
Iron
Nurik
Top achievements
Rank 2
Iron
Iron
YF
Top achievements
Rank 1
Iron
Want to show your ninja superpower to fellow developers?
Top users last month
Top achievements
Rank 1
Iron
Iron
Iron
Rob
Top achievements
Rank 3
Bronze
Bronze
Iron
ivory
Top achievements
Rank 1
Iron
Nurik
Top achievements
Rank 2
Iron
Iron
YF
Top achievements
Rank 1
Iron
Want to show your ninja superpower to fellow developers?
Want to show your ninja superpower to fellow developers?