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

I have a grid defined thusly: 

@Model VendorManagement.Web.Models.RiskExposureViewModel
@using Kendo.Mvc.UI

@(Html.Kendo().Grid(Model.RiskMatrixExposureList)

     .Name("grdRiskMatrix")
     .Columns(columns =>
     {
                                columns.Bound(c => c.RiskUnit).Title("Risk Unit");
                                columns.Bound(c => c.RiskCategory).Title("Risk Category");
                                columns.Bound(c => c.RiskDescription).Title("Short Description");
                            })
                            .Read(read => read.Action("BindRiskMatrixGrid", "Risk"))
                            .Pageable()
)

RiskMatrixExposureList is a List<RiskMatrixExposure>. The grid as defined is throwing the following error in Razor:

"Cannot use a lambda expression as an argument to a dynamically dispatched operation without first casting it to a delegate or expression tree type"

 I have the namespace defined in Views/web.config:

 <system.web.webPages.razor>
    <host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=5.2.3.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
    <pages pageBaseType="System.Web.Mvc.WebViewPage">
      <namespaces>
        <add namespace="System.Web.Mvc" />
        <add namespace="System.Web.Mvc.Ajax" />
        <add namespace="System.Web.Mvc.Html" />
        <add namespace="System.Web.Optimization"/>
        <add namespace="System.Web.Routing" />
        <add namespace="VendorManagement.Web" />
        <add namespace="Kendo.Mvc.UI" />
      </namespaces>
    </pages>
  </system.web.webPages.razor>

 

Thanks for they help!

 

Nikolay Rusev
Telerik team
 answered on 28 Sep 2015
1 answer
221 views

I have a Target field in my PopupEditor that's using custom List to display a dropdown in the View. I want the first item in the custom list (Self) to show as the default value in the dropdown.

View:

@Html.LabelFor(model => model.Target, new { @class = "col-sm-5 control-label" })
<div>
    @Html.EditorFor(model => model.Target)
</div>

Controller:

public ActionResult Index()
{
    ViewData["Targets"] = ixList.Targets();
 
    return View();
}

Custom List (ixList):

public static List<TargetsModel> Targets()
{
    List<TargetsModel> targets = new List<TargetsModel>();
 
    targets.Add(new TargetsModel { Description = "Self", Target = "_self" });
    targets.Add(new TargetsModel { Description = "Blank", Target = "_blank" });
 
    return targets;
}

Model:

[UIHint("GridForeignKey")]
public string Target { get; set; }  // target = _blank, _self

 

How would I go about setting the first item Self to the default value? Right now the default value appears to be null.

 

 

Vladimir Iliev
Telerik team
 answered on 28 Sep 2015
1 answer
102 views

I have an ID and status for every job and I need to grab that ID and status when I double click on the job. Is it possible to set attributes for the job ID and status and then catch those with jQuery?

 

Thanks in advance.

Vladimir Iliev
Telerik team
 answered on 28 Sep 2015
6 answers
436 views
Currently I have a grid that I am trying to have a drop down list appear in one of the columns while in Edit mode using the ForeignKey column.

@(Html.Kendo().Grid<Inspection>()
                .Name("grid")
                .DataSource(dataSource => dataSource.Ajax()
                .Model(model =>
                {
                    model.Id(p => p.ID);
                    model.Field(p => p.Date);
                    model.Field(p => p.TypeID);
                })
                 .Read(read => read.Action("grid_Read", "Grid", new { ID = Model.ID }))
                .Update(update => update.Action("grid_Update", "Grid", new { ID = Model.ID }))
                .PageSize(10))
                .Columns(columns =>
                {
                    columns.Bound(c => c.RequestedDate).Format("{0:d}").EditorTemplateName("_DateTime").Width(200);
                    columns.ForeignKey(c => c.TypeID, (System.Collections.IEnumerable)ViewBag.Types, "TypeID", "TypeName").Title("Test Types");
 
                    columns.Command(command => { command.Edit(); });
                })
                .Editable(editable => editable.Mode(GridEditMode.InLine))
                .Pageable(pageable => pageable.Messages(messages => messages.Empty("Nothing Here")))
                .Sortable(sortable => sortable.AllowUnsort(false))
            )


The grid loads with all the correct data, and even shows the TypeName name while in Read mode. However, when switching to Edit mode the column shows the TypeID in a text box, not a drop down list. The code to populate the ViewBag is below

ViewBag.Types = _service.Repository.InspectionTypes;


All the data appears to end up on the page - when inspecting the editable element the list of options appears in a jQuery script, however, they do not populate a drop down while editing.

The code matches the Kendo MVC demo as much as possible, so am I missing something? Are there certain constraints that need to be met?
Vladimir Iliev
Telerik team
 answered on 28 Sep 2015
1 answer
245 views

Hi,

 I need to be able to show some notifications that auto hide after 5 seconds and others that don't auto hide.  I am achieving this by using this code when I want to show a notification for 5 seconds:

 

01.var fadingnotification = $("#fadingnotification").kendoNotification({
02.    position: {
03.        pinned: true,
04.        bottom: 60,
05.        right: 30
06.    },
07.    stacking: "up",
08.    autoHideAfter: 5000,
09.    templates: [{
10.            type: "stickyinfonodismiss",
11.            template: $("#stickyInfoNoDismissTemplate").html()
12.        }, {
13.            type: "stickyinfo",
14.            template: $("#stickyInfoTemplate").html()
15.        }, {
16.            type: "info",
17.            template: $("#infoTemplate").html()
18.    }]
19.}).data("kendoNotification");
20. 
21.fadingnotification.show({
22.    message: msgToDisplay
23.}, "info");

and using the same code but with "autoHideAfter: 0" for the ones that I want to display without hiding.

 The problem I have is that this effectively initiates a new notification GUID each time so the notifications start again at the bottom of the screen each time even if there are already notifications on screen.

 Ideally I want to just change the autoHideAfter option without initialising a new notification and therefore a new GUID.

Any ideas?

Thanks,

Mark.

Plamen Lazarov
Telerik team
 answered on 25 Sep 2015
3 answers
392 views

I've following grid with inline edit. For selecting date and time they have their respective date and time controls. I want to post date in '12-Sep-2015 12.00.00' format and time in '09:00:00' format to mvc control action. But when I post the data, date is in the 'Wed Sep 23 2015 00:00:00 GMT-0400 (Eastern Daylight Time)' format. Time is in the 'Sat Sep 19 2015 15:00:00 GMT-0400 (Eastern Daylight Time)' format. This only happens if I change date and time value. If I don't change, values are posted the way I want to. What do I do to post data in proper format after edit?

 

@(Html.Kendo().Grid<Kyklos.ClinicPortal.ViewModels.AppointmentViewModel>()
            .Name("UpCmgApptGrid").
            Columns(columns =>
            {                
                columns.Bound(c => c.strAppintmentDate).Title("Appintment Date").Format("{0:MM/dd/yyyy}").EditorTemplateName("Date");
                columns.Bound(c => c.strAppintmentTime).Title("Appintment Time").Format("{0:hh:mm tt}").EditorTemplateName("Time");
                columns.Bound(c => c.DoctorName).Title("Doctor");
                columns.Command(command => { command.Edit(); }).Title("Edit").Width(250);
                columns.Command(command => { command.Destroy(); }).Title("Delete").Width(150);
            })
            .Editable(editable => editable.Mode(GridEditMode.InLine))
            .Pageable()
            .Sortable()
            .Scrollable()
            .Events(events => events.Cancel("onCancel"))
            .DataSource(
                dataSource => dataSource
                    .Ajax()
                    .Model(model =>
                    {
                        model.Id(a => a.PatAppointment.AppointmentId);
                        model.Field(a => a.DoctorName).Editable(false);
                    })
                    .Read("UpcomingAppointment_Read", "Appointment", new { PatientId = Model.PatAppointment.PatientId })
                    .Update(update => update.Action("UpcomingAppointment_Update", "Appointment"))
                    .Destroy(update => update.Action("UpcomingAppointment_Destroy", "Appointment"))
            )
)​

Boyan Dimitrov
Telerik team
 answered on 25 Sep 2015
1 answer
243 views

Hi I have problem with export diagram to SVG.

I get error message:

This page contains the following errors: error on line 1 at column 3494: EntityRef: expecting ';'
Below is a rendering of the page up to the first error.​

I tried kendo version 2015.2.624 and v2015.2.902. The result is the same.

I tried this code:

$("#exportSvg").click(function () {
            var diagram = $("#diagram").getKendoDiagram();
            diagram.exportSVG().done(function (data) {
                kendo.saveAs({
                    dataURI: data,
                    fileName: "diagram.svg"
                });
            });
        });

and this code with proxyURL:

$("#exportSvg").click(function () {
            var diagram = $("#diagram").getKendoDiagram();
            diagram.exportSVG().done(function (data) {
                kendo.saveAs({
                    dataURI: data,
                    fileName: "diagram.svg",
                    proxyURL: "<%= Url.Action("ExportSave", "OrganizacneSchemy") %>"
                });
            });
        });​ 

 

Where is the problem ? 

Thanks

Daniel
Telerik team
 answered on 25 Sep 2015
10 answers
491 views

I am adding MVC & Telerik Kendo to legacy webforms application.

I have only just added MVC 5 itself to the project using an MVC area. (see http://www.davepaquette.com/archive/2013/12/30/so-you-inherited-an-asp-net-web-forms-application.aspx).

To add Telerik MVC, I am following the steps here: http://docs.telerik.com/kendo-ui/aspnet-mvc/asp-net-mvc-5

 When I get to the step adding @(Html.Kendo().DatePicker().Name("datepicker")) to a "hello world" mvc, and try to access it, I get a "System.EntryPointNotFoundException".

 Any ideas what could be wrong?

 Additional info:  

 I made the web.config changes to (and only to) the web.config file in the MVC area.

 The "~/Content/kendo/..." and "~/Scripts/kendo/..." are in their standard places, not in the MVC area.  Not sure if this matters, but no errors appear to be generated by the telerik bundles in BundleConfig.vb.

Googling I have found mentions of <bindingredirects> in the web.config, but the Telerik instructions I am following to not mention this possibility.

Atanas Korchev
Telerik team
 answered on 25 Sep 2015
4 answers
490 views

Hi,

I need to bind the datasource to ASP.NET MVC Scheduler dynamically. In my scenario, I have 5 dropdownlists. Users will select item from the dropdownlists and then click Search buton and the scheduler will load the result. How can I do that with javascript? 

 

Please see the attached image.

 

@(Html.Kendo().Scheduler<TaskViewModel>()
    .Name("schedulerJob")
    .Date(new DateTime(2015, 8, 31))
    .StartTime(new DateTime(2015, 8, 31, 7, 00, 00))
    .Height(600)
    .Views(views =>
    {
        views.TimelineView();
    })
    .Timezone("Etc/UTC")
    .Group(group => group.Resources("Techs").Orientation(SchedulerGroupOrientation.Vertical))
    .Resources(resource =>
    {
        resource.Add(m => m.TechName)
            .Title("Techs")
            .Name("Techs")
            .DataTextField("emm_code")
            .DataValueField("emm_code")
            .DataSource(d => d.Read("Techs", "JOBS"));
    })
    .DataSource(d => d
        .Model(m =>
        {
            m.Id(r => r.emm_code);
        })
        .Read("JobSchedule_Read", "JOBS")
        .Create("JobSchedule_Create", "JOBS")
        .Update("JobSchedule_Update", "JOBS")
        .Destroy("JobSchedule_Delete", "JOBS")
    )
)

 

  

public JsonResult JobSchedule_Read([DataSourceRequest] DataSourceRequest request)
{
    DateTime startDateTime;
    DateTime endDateTime;
    List<JscDet> JscDet = (List<JscDet>)Session["JobScheduleDateTime"];
    List<TaskViewModel> tasks = new List<TaskViewModel>();
 
    foreach (var item in JscDet)
    {
        startDateTime = SchedulerUtility.GetDateTimeFromSeconds(item.jsd_sch_date, item.jsd_sch_start_time);
        endDateTime = SchedulerUtility.GetDateTimeFromSeconds(item.jsd_sch_date, item.jsd_sch_end_time);
        tasks.Add(new TaskViewModel()
        {
            TaskID = item.jsd_jobno,
            TechName = item.jsd_sch_assto,
            emm_code = item.jsd_sch_assto,
            Title = "Job Title",
            Start = new DateTime(startDateTime.Year, startDateTime.Month, startDateTime.Day, startDateTime.Hour, startDateTime.Minute, startDateTime.Second),
            End = new DateTime(endDateTime.Year, endDateTime.Month, endDateTime.Day, endDateTime.Hour, endDateTime.Minute, endDateTime.Second),
            Description = "Description 101",
            IsAllDay = false
        });
    }
 
    return Json(tasks.ToDataSourceResult(request));
}

​

Thanks in advance

Kevork
Top achievements
Rank 2
 answered on 24 Sep 2015
2 answers
105 views

I have this multiselect on my asp.net mvc project

 

  <div class="demo-section user-selection">
      <h3 class="title">1. Select one or more Users</h3>
      @(Html.Kendo().MultiSelect()
.Name("customers")
.DataTextField("givenName")
 
    .DataValueField("description")
    //.Placeholder("No users selected")
    .Events(events => events.Change("NewSelection"))
 
    .DataSource(source =>
    {
        source.Read(read =>
        {
            read.Action("GetCustomers", "Home");
        });
    })
    .Height(300)
                    //.HtmlAttributes(new { style = "width: 400px" })
                    .HeaderTemplate("<div class=\"dropdown-header dropdown_Users\">" +
                          "<span class=\"k-widget k-header\">Photo</span>" +
                          "<span class=\"k-widget k-header\">Contact info</span>" +
                      "</div>")
                                                    .ItemTemplate("<span class=\"k-state-default item-user userPic\"><img class=\"userPhoto\" src=\"" + @System.Configuration.ConfigurationManager.AppSettings["BaseUrl"] + "user/image?userIid=#:data.IID#\" /></span>" +
                                                              "<span class=\"k-state-default item-user \"><h3>#: data.givenName # #: data.sn #</h3><p>#: data.description #</p></span>")
      )
  </div>

 

the data i load is of 2000 users that then appear in the multiselect list with their photo, first and last name and role.

my problem is that the loading takes about 5 or 6 seconds, and when scrolling down the list it sometimes gets a bit "clunky"
.

Is there anyway to improve the loading of data maybe making it load in blocks of 200 users at a time , or another way of improving performance?

Ric
Top achievements
Rank 1
 answered on 24 Sep 2015
Narrow your results
Selected tags
Tags
Grid
General Discussions
Scheduler
DropDownList
Chart
Editor
TreeView
DatePicker
ComboBox
Upload
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
Accessibility
ListView (Mobile)
Pager
ColorPicker
DateRangePicker
Wizard
Security
Styling
Chat
DateInput
MediaPlayer
TileLayout
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
Bohdan
Top achievements
Rank 3
Iron
Iron
Iron
Rob
Top achievements
Rank 3
Bronze
Bronze
Iron
Elliot
Top achievements
Rank 1
Iron
Iron
Iron
Sunil
Top achievements
Rank 1
Cynthia
Top achievements
Rank 1
Iron
Iron
Iron
Want to show your ninja superpower to fellow developers?
Top users last month
Bohdan
Top achievements
Rank 3
Iron
Iron
Iron
Rob
Top achievements
Rank 3
Bronze
Bronze
Iron
Elliot
Top achievements
Rank 1
Iron
Iron
Iron
Sunil
Top achievements
Rank 1
Cynthia
Top achievements
Rank 1
Iron
Iron
Iron
Want to show your ninja superpower to fellow developers?
Want to show your ninja superpower to fellow developers?