Kendo ui 是否可以在剑道网格内联模式下将字段合并到单个单元格中?

Kendo ui 是否可以在剑道网格内联模式下将字段合并到单个单元格中?,kendo-ui,kendo-grid,kendo-asp.net-mvc,Kendo Ui,Kendo Grid,Kendo Asp.net Mvc,我编写了在剑道UI网格中显示信息的代码。 它使用内联网格模式来更新和插入记录 代码如下: Timesheet.cshtml @model HalsionTimesheetWebApp.Models.TimesheetIndexData @(Html.Kendo().Grid(Model.TimesheetPrinting) .Name("InlineGrid") .Columns(columns => { columns.Bound(trans =>

我编写了在剑道UI网格中显示信息的代码。 它使用内联网格模式来更新和插入记录

代码如下:

Timesheet.cshtml

@model HalsionTimesheetWebApp.Models.TimesheetIndexData

@(Html.Kendo().Grid(Model.TimesheetPrinting)
    .Name("InlineGrid")   
    .Columns(columns =>
    {
 columns.Bound(trans => trans.TimesheetId).Title("ID").Hidden(true)
.EditorTemplateName("TimesheetIdEditor");        
columns.Bound(trans => trans.StartDate).Title("Date")
.Format("{0:dd MMM yyyy}").EditorTemplateName("DateEditor").Width(100)); 
columns.Bound(trans => trans.StartTime).Title("Start Time")
.Format("{0:hh:mm tt}").EditorTemplateName("TimeEditor").Width(85);
columns.Bound(trans => trans.FinishTime).Title("Finish Time")
.Format("{0:hh:mm tt}").EditorTemplateName("TimeEditor").Width(85);        columns.Bound(trans => trans.TimeTaken).Title("Taken")
.Format("{0:n2}")
.EditorTemplateName("TimeTakenEditor").Width(70);
 columns.Command(command =>
        {
            command.Edit();
            command.Destroy();


        }).Width(250).Title("Action");
    })
  .ToolBar(toolbar => toolbar.Create().Text("New entry"))
    .Editable(editable => editable.Mode(GridEditMode.InLine)
    .Sortable()
    .Pageable(pager => pager
                    .PageSizes(new int[] { 5, 10, 20, 50, 100 }).Info(true).Messages(messages => messages.Empty("No entry")
.Display("Showing entries from {0} to {1}. Total entries: {2}").ItemsPerPage("entries per page"))
       )// Enable paging
    .DataSource(dataSource => dataSource
        .Ajax()
        .PageSize(20)
        .ServerOperation(true)
        .Events(events => events.Error("datasource_error_handler")
        .Model(model =>
        {
            model.Id(p => p.TimesheetId);

        })
        .Read(read => read.Action("Read", "Timesheet))
         .Create(update => update.Action("Create", "Timesheet"))
        .Update(update => update.Action("Update", "Timesheet"))
        .Destroy(update => update.Action("Destroy", "Timesheet"))


    ))
EditorTemplates/DateEditor.cshtml

 @model DateTime
    @(Html.Kendo().DatePickerFor(m => m)
    .Format("{0:yyyy-MM-dd}").Max(DateTime.Now.Date.AddDays(1).AddTicks(-1)))
@model DateTime?
@(Html.Kendo().TimePickerFor(m => m))
 @model int
 @(Html.Kendo().NumericTextBoxFor(m => m)).Min(0).Max(int.MaxValue)
.Format("# min"))
@model DateTime?
@(Html.Kendo().DatePickerFor(m => m) // It's for Start Date
.Format("{0:yyyy-MM-dd}").Max(DateTime.Now.Date.AddDays(1).AddTicks(-1)))
@(Html.Kendo().TimePickerFor(m => m)) // It's for Start Time
EditorTemplates/TimeEditor.cshtml

 @model DateTime
    @(Html.Kendo().DatePickerFor(m => m)
    .Format("{0:yyyy-MM-dd}").Max(DateTime.Now.Date.AddDays(1).AddTicks(-1)))
@model DateTime?
@(Html.Kendo().TimePickerFor(m => m))
 @model int
 @(Html.Kendo().NumericTextBoxFor(m => m)).Min(0).Max(int.MaxValue)
.Format("# min"))
@model DateTime?
@(Html.Kendo().DatePickerFor(m => m) // It's for Start Date
.Format("{0:yyyy-MM-dd}").Max(DateTime.Now.Date.AddDays(1).AddTicks(-1)))
@(Html.Kendo().TimePickerFor(m => m)) // It's for Start Time
EditorTemplates/TimeTakenEditor.cshtml

 @model DateTime
    @(Html.Kendo().DatePickerFor(m => m)
    .Format("{0:yyyy-MM-dd}").Max(DateTime.Now.Date.AddDays(1).AddTicks(-1)))
@model DateTime?
@(Html.Kendo().TimePickerFor(m => m))
 @model int
 @(Html.Kendo().NumericTextBoxFor(m => m)).Min(0).Max(int.MaxValue)
.Format("# min"))
@model DateTime?
@(Html.Kendo().DatePickerFor(m => m) // It's for Start Date
.Format("{0:yyyy-MM-dd}").Max(DateTime.Now.Date.AddDays(1).AddTicks(-1)))
@(Html.Kendo().TimePickerFor(m => m)) // It's for Start Time
在这段代码中,每列都有自己的编辑器模板。 这里我需要的是在内联编辑模式下将一些字段合并到单个单元格中

例如: 在单个单元格中输入开始日期和时间,在另一个单元格中输入完成时间和时间

EditorTemplates/StartDateTimeEditor.cshtml

 @model DateTime
    @(Html.Kendo().DatePickerFor(m => m)
    .Format("{0:yyyy-MM-dd}").Max(DateTime.Now.Date.AddDays(1).AddTicks(-1)))
@model DateTime?
@(Html.Kendo().TimePickerFor(m => m))
 @model int
 @(Html.Kendo().NumericTextBoxFor(m => m)).Min(0).Max(int.MaxValue)
.Format("# min"))
@model DateTime?
@(Html.Kendo().DatePickerFor(m => m) // It's for Start Date
.Format("{0:yyyy-MM-dd}").Max(DateTime.Now.Date.AddDays(1).AddTicks(-1)))
@(Html.Kendo().TimePickerFor(m => m)) // It's for Start Time
EditorTemplates/FinishTimeAndTimeTakenEditor.cshtml

@model object
@(Html.Kendo().TimePickerFor(m => m)) // It's for Finish Time
@(Html.Kendo().NumericTextBoxFor(m => m)).Min(0).Max(int.MaxValue)
.Format("# min")) // It's for Time Taken
在剑道UI网格中可能吗

我在Telerik Kendo UI中找不到任何支持此功能的文档

感谢您的帮助


谢谢你。

你离得太近了!只需将两个或多个字段放在同一个编辑器模板中。所以,也许开始和结束日期在同一个编辑器中,然后该列使用该编辑器模板,但只有一个单元格,如果你明白我的意思的话?想象一下,在单个编辑器模板中出现以下情况:

@model DateTime?
@model object
@(Html.Kendo().DatePickerFor(m => m) // It's for Start Date
.Format("{0:yyyy-MM-dd}").Max(DateTime.Now.Date.AddDays(1).AddTicks(-1)))
@(Html.Kendo().TimePickerFor(m => m)) // It's for Start Time
EditorTemplates/FinishTimeAndTimeTakenEditor.cshtml

@(Html.Kendo().TimePickerFor(m => m)) // It's for Finish Time
@(Html.Kendo().NumericTextBoxFor(m => m)).Min(0).Max(int.MaxValue)
.Format("# min")) // It's for Time Taken