Kendo scheduler new event set attendees onload

4 posts, 0 answers
  1. Anamika
    Anamika avatar
    157 posts
    Member since:
    Mar 2014

    Posted 30 May 2017 Link to this post

    Hello,

     

    i am using custom template for Event add/edit with Kendo Scheduler. I am trying to presenect attendees when user clicks to create new Event. Here is my Scheduler edit event

     function scheduler_edit(e) {
            var usrName = "@HttpContext.Current.User.Identity.Name";
          
            if ( e.event.CanOpen) {
                e.preventDefault();
            }
            var eventid = e.event.id;
        
            if (e.event.isNew()) {
               
                var rootDir = "@Url.Content("~/")";
                      
                        $.ajax({
                            url: rootDir + "Objekt/LoadAdress",
                            cache: false,
                            async: false,
                            data: {
                                strSelectedObjectID: objectid
                            },
                            success: function (data) {
                                if (data.result == "Error") {
                                    alert(data.message);
                                } else {
                    
                                    var value = usrName.split(",");
                                    e.event.set("ObjectDesc", desc);
                                    e.event.set("ObjectID", objectid);
                                    e.event.set("LetterHead", data.LetterHead);
                                    e.event.set("Attendees", usrName);
                                }
                            }
                        });
                    }
                }
            }
        }

    The objectID and rest of fields Comes populated. Only Attendees is blank.

    The customtemplate has the attendees multiselect as

    <div data-container-for="Attendees" class="k-edit-field">
    @(Html.Kendo().MultiSelectFor(model => model.Attendees)
    .Name("attendies")
    .HtmlAttributes(new { data_bind = "value:Attendees" ,style = "width: 300px"})
    .DataTextField("LoginName")
    .DataValueField("LoginName")
    .DataSource(source =>
    {
    source.Read(read =>
    {
    read.Action("GetCustomers", "Scheduler");
    });
    })
    .Events(e => { e.DataBound("data_bound"); })
    .Value((List<Object>)ViewBag.SelectedUser)
    .ValuePrimitive(true)
    .TagTemplate("<span class='k-scheduler-mark' style='background-color:\\#= data.Color?Color:'' \\#'></span>\\#=LoginName\\#")
    .ItemTemplate("<span class='k-scheduler-mark' style='background-color:\\#= data.Color?Color:'' \\#'></span>\\#=LoginName\\#")
    )
    <span class="k-invalid-msg" data-for="Attendees"></span>
    </div>

     

    Thanks

     

    Anamika

  2. Ianko
    Admin
    Ianko avatar
    1940 posts

    Posted 01 Jun 2017 Link to this post

    Hello Anamika,

    The described requirement is typically done by using the Resources option of the Scheduler, which will enable you to setup a DataSource for the external resource to be bound to the events. You can check out this demo: http://demos.telerik.com/aspnet-mvc/scheduler/resources

    As for the solution you have, I am unable to properly examine what might the reason for the issue you experience. I see that the MVC wrapper is set up with ValuePrimitive enabled. Try usoing the data-value-primitive attribute instead (https://demos.telerik.com/kendo-ui/multiselect/mvvm and http://docs.telerik.com/kendo-ui/framework/mvvm/bindings/value#view-model-fields-with-value-field-of-primitive-value). Also, make sure that the value primitive option is indeed needed for the case. If the Attendees fields returns an array of non-primitive object items, then, you most probably do not need the option. 

    If you still have some difficulties with the case, please, provide a simple, locally runnable project so that I can take a better look at the case and examine it closely.

    Regards,
    Ianko
    Progress Telerik
    Try our brand new, jQuery-free Angular 2 components built from ground-up which deliver the business app essential building blocks - a grid component, data visualization (charts) and form elements.
  3. Anamika
    Anamika avatar
    157 posts
    Member since:
    Mar 2014

    Posted 06 Jun 2017 in reply to Ianko Link to this post

    Hello Lanko,

     

    Unfortunately nothing helped. I am grouping the Scheduler by date and a resource which is list of attendies as well. Could that be the Problem?

     

    Thanks

     

    Anamika

  4. Ianko
    Admin
    Ianko avatar
    1940 posts

    Posted 06 Jun 2017 Link to this post

    Hello Anamika,

    I am afraid I am unable to exactly understand how grouping by date and resource could be somehow a possible reason for the described behavior. Possibly, it might be related to the exact approach Scheduler is used with the data bound.  This, however, with a live application it is difficult to be properly investigated.

    It would be very helpful if you can isolate the case in a locally runnable example so that we can properly examine the code and the scenario, and be able to properly define the reason for the behavior and help you out on a possible resolution.

    Regards,
    Ianko
    Progress Telerik
    Try our brand new, jQuery-free Angular 2 components built from ground-up which deliver the business app essential building blocks - a grid component, data visualization (charts) and form elements.
Back to Top