ajax édition en Telerik grille, les modèles d'affichage ne sont pas rendus lors de la mise à jour de la ligne

StackOverflow https://stackoverflow.com/questions/3627575

Question

I ai une grille de telerik, text alt quand je modifier une ligne: text alt mais si j'appuyé sur le bouton de mise à jour ou même d'annuler (voir la colonne de milieu): text alt

Voici la déclaration:

    <%= Html.Telerik().Grid<AlefTech.HumanResource.WebModule.ViewDto.MaritialStatusItemEditDto>(Model)
        .Name("Grid")
        .DataKeys(keys => { keys.Add(c => c.MaritialStatusItemID); keys.Add(k => k.Index); })
        .Columns(columns =>
        {
            //columns.Bound(m => m.MaritialStatusItemID).Visible(false);
            columns.Bound(m => m.Index).Title("").Sortable(false).Width(0);
            columns.Bound(m => m.Name);
            //columns.Bound(m => m.Brithdate).Width(130).Format("{0:d}");
            //columns.Bound(m => m.Gender);
            columns.Bound(m => m.MaritialStatusItemType);
            //columns.Bound(m => m.Notes);
            //columns.Bound(m => m.Status);
            //columns.Bound(m => m.CreationDate);
            //columns.Bound(m => m.ItemGuid);//.ClientTemplate("<input type='hidden' value='<#ItemGuid#>' name='ItemGuid' id='WorkerID'>");
            columns.Command(command => { command.Edit(); command.Delete(); });
        })
       //.ClientEvents(cfg => cfg.OnDataBound("onRowDataBound"))
        .ToolBar(t => t.Insert())
        .DataBinding(d => d.Ajax()
            .Select("MartialStatusGridSelect", "Worker")
            .Insert("MartialStatusGridInsert", "Worker")
            .Update("MartialStatusGridUpdate", "Worker")
            .Delete("MartialStatusGridDelete", "Worker"))
        .Scrollable()
       .Editable(editing => editing.Enabled(true))
        .Sortable()
        .HtmlAttributes(new { @class = "t-grid-rtl", @hegiht = "450px" })
        .Pageable()

%>

et le modèle:

   public class MaritialStatusItem : BaseEntity
    {
        [StringLength(50)]
        [Required]
    public virtual string Name { get; set; }

        [UIHint("MaritialStatusEnum")]
        public virtual MilitaryStatusEnum MaritialStatusItemType { get; set; }
    }

le modèle d'affichage MaritialStatusEnum.ascx

<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl" %>
<%=((MilitaryStatusEnum)Model == .MilitaryStatusEnum.Serving)? "Serving" : "Finished"
%>

l'éditeur de modèle

   <%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<AlefTech.HumanResource.Core.MartialStatusEnum>" %>
    <%=Html.DropDownList("MartialStatus", new SelectListItem[] { new SelectListItem { Text = "Serving", Value = "0" }, new SelectListItem { Text = "Finished", Value = "1" } }) %>

Des idées pourquoi ce happenning ??

Était-ce utile?

La solution

bien, je résolu le problème en utilisant la manière indiquée dans cette sujet comme suit:

columns.Bound(m => m.MaritialStatusItemType).ClientTemplate("<#= maritialStatusItemEnum[MaritialStatusItemType] #>");
.
.
.
<script type="text/javascript">
var maritialStatusItemEnum = ["Single person", "Married Person", "Divorced Person", "Widowed"];
</script>

et noter que cela est une solution pour une propriété Enum, mais si vous avez un objet complexe, vous devriez envisager une autre solution.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top