Kendo ui 是否可以在剑道网格内联模式下将字段合并到单个单元格中?
我编写了在剑道UI网格中显示信息的代码。 它使用内联网格模式来更新和插入记录 代码如下: Timesheet.cshtmlKendo 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 =>
@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