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?