Page data assignment conversion

Change the value of the number to the corresponding state
Insert picture description here
Current page code
Insert picture description here

@(Html.Kendo().Grid<CallRepair>
                ()
                .Name("grid")
                .Columns(columns =>
                {
                    columns.Bound(c => c.Id)
                    .ClientTemplate("<input type='checkbox' value='#=Id#' class='checkboxGroups' name='selectedIds' />")
                    .HeaderTemplate(" <input id='mastercheckbox' type='checkbox' /> ")
                    .Filterable(false)
                    .Sortable(false)
                    .Width(30);
                    columns.Bound(c => c.Call_Repair_No).ClientTemplate("<a href='" + Url.Action("Review") + "/#=Id#'>#=Call_Repair_No#</a>").Filterable(true).Width(150);
                    columns.Bound(c => c.Repair_Type).Filterable(false).Sortable(false).Width(110);
                    columns.Bound(c => c.Status).Filterable(false).Sortable(false).Width(60);
                    columns.Bound(c => c.Line_Id).Filterable(false).Sortable(false).Width(80);
                    columns.Bound(c => c.Call_Location).Filterable(false).Sortable(false).Width(100);
                    columns.Bound(c => c.Call_By).Filterable(false).Sortable(false).Width(80);
                    columns.Bound(c => c.Machine_Id).Filterable(false).Sortable(false).Width(110);                      
                    columns.Bound(c => c.Call_Time).Format("{0: yyyy/MM/dd HH:mm:ss}").Filterable(false).Sortable(false).Width(130);
                    columns.Bound(c => c.Close_Time).Format("{0: yyyy/MM/dd HH:mm:ss}").Filterable(false).Sortable(false).Width(130);
                    columns.Bound(c => c.Spend_Times).Format("{0: yyyy/MM/dd HH:mm:ss}").Filterable(false).Sortable(false).Width(130);
                    columns.Bound(c => c.Update_Time).Format("{0: yyyy/MM/dd HH:mm:ss}").Filterable(false).Sortable(false).Width(130);
                    columns.Bound(c => c.Update_By).Sortable(false).Width(80);
                })
                    .DefaultOptions()
                    .Filterable(f => f.Enabled(true))
                    .Events(e => e.DataBound("boundGridMaintainStatus"))
                    .DataSource(dataSource => dataSource
                    .Ajax()
                    .Batch(true)
                    .Read(read => read.Action("CallRepairList", Html.ControllerName()))
                    .ServerOperation(true)
                    .Model(m =>
                    {
                        m.Id(c => c.Id);

                    }).PageSize(10)))

Controller code
Insert picture description here

 [UserAuthorize(FuncID.Repair_View)]
    public ActionResult CallRepairList([DataSourceRequest] DataSourceRequest request)
    {
        using (var handlerSupervisor = new LinesupervisoridHandler())
        using (var handlerMachine = new MachineHandler())
        using (var handler = new RepairHandler())
        {
            var user = UserSession.Account.Id;
        

            var list = handler.GetCallRepairList(UserSession.Plant.Id);
            return Json(list.ToDataSourceResult(request));
        }
    }

Data processing GetCallRepairList method

Insert picture description here
Increase StatusName and assign
StatusName = x.STATUS == 0? "Processed": ("Called repair"), and
then set the page code field
columns.Bound(c => c.Status).Filterable(false).Sortable(false) ).Width(60); Change
to
columns.Bound(c => c.StatusName).Filterable(false).Sortable(false).Width(60);

Then after the implementation, as shown in the effect
Insert picture description here
ID value, take the corresponding data from other tables
Defect_Id = x.DEFECT_ID
to
Defect_Id = x.DEFECT_ID
Defect_Type = db.TROUBLES.Where(t=>t.ID==x.DEFECT_ID).Select (t=>t.NAME).FirstOrDefault(), the
interface value is
columns.Bound(c => c.Defect_Type);

Guess you like

Origin blog.csdn.net/caoguanghui0804/article/details/110467274