Telerik Forums
UI for ASP.NET MVC Forum
13 answers
1.1K+ views

I have a simple grid with Add/Edit functionality enabled and it's using the popup grid edit mode.  When in that mode, a drop down is not setting the selected value as it should.  If I use inline, everything works like a charm. 

 

When the add/edit form is rendered, the selected value for the record is not being set in the drop down.  When you submit the form, the value is always correct.  The default value is sent when the selected value drop down list was not changed.  The same goes for editing (value being the previously saved value).

 

This behavior seems to only happen on combo boxes and drop down lists and it's limited to the popup form.  Below is my view, editor template, and the model.  The field in question is Chaperone.

Thank You!

View:

<%= Html.Kendo().Grid<ChaperoneLogViewModel>()
        .Name("ChaperoneLog")
        .DataSource(datasource => datasource.Ajax()
            .Read("Select", "ChaperoneLogList")
            .Update("Update", "ChaperoneLogList")
            .Create("Create", "ChaperoneLogList")
            .Destroy("Delete", "ChaperoneLogList")
            .Model(model => {
                model.Id(field => field.Id);
                model.Field(field => field.Name);
                model.Field(field => field.Chaperone)
                    .DefaultValue(HttpContext.Current.User.Identity.Name);
            })
            .Filter(filter =>
            {
                filter.Add(field => field.Date)
                    .IsLessThanOrEqualTo(DateTime.Now)
                    .And()
                    .IsGreaterThanOrEqualTo(DateTime.Now.AddDays(-7));
                filter.Add(field => field.Chaperone)
                    .IsEqualTo(HttpContext.Current.User.Identity.Name);
            })
            .PageSize(20)
        )
        .EnableCustomBinding(true)
        .ToolBar(toolbar =>
        {
            toolbar.Create();
            toolbar.Excel();
        })
        .Excel(excel =>
        {
            excel.AllPages(true);
            excel.FileName("ChaperoneList_" + DateTime.Now.ToShortDateString()+".xlsx");
            excel.Filterable(true);
        })
        .Events(events => events.Edit("loadResearch"))
        .Columns(columns =>
        {
            columns.Command(commands =>
            {
                commands.Destroy().Text(" ");
                commands.Edit().Text(" ").CancelText(" ").UpdateText(" ");
            }).Width(80);
            columns.Bound(column => column.Date).AsDate().Width(90);
            columns.Bound(column => column.Name).Title("Topic");
            columns.Bound(column => column.Symbol).Title("S").Width(60);
            columns.Bound(column => column.BankerListDisp);
            columns.Bound(column => column.ResearchListDisp);
            columns.Bound(column => column.Other);
            columns.Bound(column => column.Chaperone).ClientTemplate("#= ChaperoneDisplay #").Title("C").Width(60);
        })
        .Pageable()
        .Sortable(sort => sort.SortMode(Kendo.Mvc.UI.GridSortMode.SingleColumn))
        .Filterable(filter => filter.Mode(GridFilterMode.Menu))
        .Scrollable(scroll => scroll.Height("auto"))
        .Editable(edit => edit.Mode(Kendo.Mvc.UI.GridEditMode.InLine))
        .Selectable()
        .Resizable(resizing => resizing.Columns(true))
 
%>

 

EditorTemplate:

<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl" %>
<%
    var users = Roles.GetUsersInRole("StandardUser");
    var profs = users.Select(WebProfile.GetProfile).ToList();
 
    var list = new List<SelectListItem>();
    list.AddRange(profs.Select(
        x => new SelectListItem
        {
            Text = String.Format("{1}, {0}", x.FirstName, x.LastName),
            Value = Html.Encode(x.UserName)
        })
    );
 
    list = list.OrderBy(x => x.Text).ToList();
%>
 
<%=Html.Kendo().DropDownList()
    .Name("Chaperone")
    .DataValueField("Value")
    .DataTextField("Text")
    .HtmlAttributes(new {style = "width: 160px; "})
    .BindTo(list) 
    .OptionLabel("Select a Chaperone...")  
    .Value(Model.ToString())
%>

 

Model:

namespace CyfPortal.ApplicationServices.ViewModels
{
    [DisplayName("Chaperone Log")]
    public class ChaperoneLogViewModel : ViewModel<ChaperoneLog>
    {
        public ChaperoneLogViewModel()
        {
            Chaperone = HttpContext.Current.User.Identity.Name;
        }
 
        [ScaffoldColumn(false)]
        [Map("Id", ReadOnly = true)]
        public int Id { get; set; }
 
        [DataType(DataType.Date)]
        public DateTime Date { get; set; }
 
        [UIHint("Symbols")]
        public string Symbol { get; set; }
 
        [Display(Name = "Topic")]
        public string Name { get; set; }
 
        [UIHint("SeniorBankers")]
        public string Banker { get; set; }
 
        public string AddBanker { get; set; }
 
        [UIHint("Analysts")]
        public string Research { get; set; }
 
        public string AddResearch { get; set; }
 
        [DataType(DataType.MultilineText)]
        public string Other { get; set; }
 
        [UIHint("Chaperone")]
        public string Chaperone { get; set; }
 
        public string ChaperoneDisplay
        {
            get
            {
                var prof = WebProfile.GetProfile(Chaperone);
                var fi = "";
                var li = "";
                if (!String.IsNullOrEmpty(prof.FirstName)) fi = prof.FirstName.Substring(0, 1);
                if (!String.IsNullOrEmpty(prof.LastName)) li = prof.LastName.Substring(0, 1);
                return fi+li;
            }
        }
 
        public string[] ResearchList
        {
            get
            {
                if (String.IsNullOrEmpty(Research))
                {
                    return new string[] { };
                }
                return Research.Split(',');
            }
        }
 
        [Display(Name = "Research")]
        public string ResearchListDisp
        {
            get
            {
                if (String.IsNullOrEmpty(AddResearch)) return Research;
                return Research + ", " + AddResearch;
            }
        }
 
        public string[] BankerList
        {
            get
            {
                if (String.IsNullOrEmpty(Banker))
                {
                    return new string[] { };
                }
                return Banker.Split(',');
            }
        }
 
        [Display(Name = "Banker")]
        public string BankerListDisp
        {
            get
            {
                if (String.IsNullOrEmpty(AddBanker)) return Banker;
                return Banker + ", " + AddBanker;
            }
        }
    }
}

Sivaramakrishna Reddy
Top achievements
Rank 1
Veteran
 answered on 30 May 2020
2 answers
1.0K+ views

I have declared a DatePicker.  Normally, the popup would only open when the user clicks the button and the user can free hand a date into the text field.  I want to alter these two behaviors.

 

1. When the user mouse clicks anywhere on the DatePicker, even in the text field, the popup opens.

2. Prevent the user from typing anything into the text field.  The user will be forced to use the popup to select a date.

Eric
Top achievements
Rank 1
Veteran
Iron
 answered on 29 May 2020
3 answers
153 views

Hi ,

I have a kendo dropdownlist outside grid and toolbar button inside grid, I need to validate the dropdownlist selection  when toolbar button inside grid is clicked , is there any way to validate the dropdowlist when no records selected from toolbar click, Help will be appreciated!!!

 

Regards

Mohmmed 

Nikolay
Telerik team
 answered on 29 May 2020
3 answers
1.2K+ views

I saw that when sending the Model state on the read method of the grid it is ignored? Is this function as design? How to implement this on every grid

public async Task<ActionResult> GetViewModels([DataSourceRequest]DataSourceRequest request)
{
    var models = System.Array.Empty<ViewModel>();
    ModelState.AddModelError(string.Empty, "Just to test something");
    var result = await models.ToDataSourceResultAsync(request, ModelState).ConfigureAwait(false);
    return Json(result);
}
Nikolay
Telerik team
 answered on 29 May 2020
3 answers
2.1K+ views

Is possible set the background color of each item in list of multiselect object? 

Thank you

 

Neli
Telerik team
 answered on 28 May 2020
3 answers
348 views

I have a form with a couple of switchfor controls on them. They are bond to Boolean properties of my model. When calling a reset on the form, these controls do not revert back to the original value as expected.

 

<div class="col-1">
                        <div class="form-group">
                            <label asp-for="DoNotContact">Ne pas contacter</label><br />
                            @(Html.Kendo().SwitchFor(m => m.DoNotContact)    )
             </div>

 </div>

What am I doing wrong?

 

 

 

Nikolay
Telerik team
 answered on 28 May 2020
2 answers
667 views

Hi,

 

Any option to set the focus on page load to the first control of the form. A jquery function with focus() doensn't seem to work

Regards,

Bart

Bart
Top achievements
Rank 1
 answered on 28 May 2020
1 answer
145 views

I like the look of the new "modern" interface for the datetimepicker. As seen on the Demo page the picker does not have any values for the hours or AM/PM.

https://demos.telerik.com/aspnet-mvc/datetimepicker/component-type

Is this a bug? or is there something you need to do to allow picking of hours?

I have attached a screenshot for reference.

 

 

Nikolay
Telerik team
 answered on 27 May 2020
7 answers
200 views

I have Kendo MVC Grid in a view, 

 

I would like to navigate from view to another view that holds Kendo Grid report.

 

 

@Html.ActionLink("Report", "GridList_Read", "Grid")

 

The above code is displaying not formatted plain text content.

 

How do call grid controller from a mvc view?

 

Thank you

Nencho
Telerik team
 answered on 27 May 2020
2 answers
198 views

There is a way to declare a stand-alone data source in Kendo and initialize it with an array. https://docs.telerik.com/kendo-ui/framework/datasource/basic-usage#creating-local-data-sources

Is there an equivalent MVC helper for this?

 

Nikita
Top achievements
Rank 2
Iron
 answered on 26 May 2020
Narrow your results
Selected tags
Tags
+? more
Top users last month
Will
Top achievements
Rank 2
Iron
Motti
Top achievements
Rank 1
Iron
Hester
Top achievements
Rank 1
Iron
Bob
Top achievements
Rank 3
Iron
Iron
Veteran
Thomas
Top achievements
Rank 2
Iron
Want to show your ninja superpower to fellow developers?
Top users last month
Will
Top achievements
Rank 2
Iron
Motti
Top achievements
Rank 1
Iron
Hester
Top achievements
Rank 1
Iron
Bob
Top achievements
Rank 3
Iron
Iron
Veteran
Thomas
Top achievements
Rank 2
Iron
Want to show your ninja superpower to fellow developers?
Want to show your ninja superpower to fellow developers?