我希望在我的visual studio程序中创建一个网格,将DateTime.now显示为默认值,但它不起作用。
Kendo网格中的列:
columns.Bound(c => c.CurrentDate).EditorTemplateName("Date").Format("{0:dd/MM/yy}");
我的模型中的声明:
public DateTime CurrentDate { get; set; }
当我加载网页时,列中文本框的值设置为当前日期,但不显示值。
我的Kendo UI网格代码:
@(Html.Kendo()。网格()
.Name("EIDGrid") .Columns( columns => { columns.Bound(c => c.Breed); columns.Bound(c => c.Gender); columns.Bound(c => c.AnimalId); columns.Bound(c => c.EIDDate).EditorTemplateName("Date").ClientTemplate(DateTime.Now.ToString("dd/MM/yy"));//.ClientTemplate(DateTime.Now.ToString()).Format("{0:dd/MM/yy}").EditorTemplateName("Date");//.EditorTemplateName("Date") columns.Bound(c => c.EIDNum); columns.Bound(c => c.BatchNum); } ) .Scrollable(s => s.Height("350px")) .Editable(editable => editable.Mode(GridEditMode.InCell).DisplayDeleteConfirmation(false)) .Pageable() .DataSource(datasource => datasource .Ajax() .Model(model => { model.Id(p => p.SireGuid); //model.Field(p => p.SireGuid).DefaultValue(Guid.Empty); //model.Id(p => p.EIDDate); //model.Field(p => p.EIDDate).Editable(true); }) .PageSize(100) .Batch(true) .Sort(s => s.Add("Name")) ) )
我的型号代码:
使用System;使用System.Collections.Generic;运用 System.Globalization;使用System.Linq;使用System.Web;
命名空间Kendo_UI_Bootstrap_Integration.Models {
public class EID { public string Breed { get; set; } public string Gender { get; set; } public string AnimalId { get; set; } public int EIDNum { get; set; } public int BatchNum { get; set; } public DateTime EIDDate { get; set; } public int ClusterIndex { get; set; } public System.Guid SireGuid { get; set; } } }
我的控制器代码:
使用System;使用System.Collections.Generic;使用System.Linq; 使用System.Web;使用System.Web.Mvc;
命名空间Kendo_UI_Bootstrap_Integration.Controllers { public class EidController:Controller { // GET:开斋节 public ActionResult EidView() { return View(); } }}
答案 0 :(得分:0)
尝试这样的事情:
的型号:强>
public class Eid
{
public string Breed { get; set; }
public DateTime EIDDate { get; set; } = DateTime.Now;
public string SireGuid { get; set; }
}
MVC包装器:
@(Html.Kendo().Grid<KendoUIApp3.Models.Eid>()
.Name("EIDGrid")
.Columns(columns =>
{
columns.Bound(c => c.Breed);
columns.Bound(c => c.EIDDate).Format("{0:dd/MM/yy}");
})
.Scrollable(s => s.Height("350px"))
.Editable(editable => editable.Mode(GridEditMode.InCell).DisplayDeleteConfirmation(false))
.Pageable()
.Groupable()
.Sortable()
.DataSource(dataSource => dataSource
.Ajax()
.Model(model =>
{
model.Id(p => p.SireGuid);
})
.Read(read => read.Action("EIDRead", "Home"))
.PageSize(100)
.Batch(true)
.Sort(s => s.Add("Breed"))
))
<强>控制器:强>
public ActionResult EIDRead([DataSourceRequest] DataSourceRequest request)
{
var collection = new List<Eid>()
{
new Eid
{
Breed = "test",
SireGuid = Guid.NewGuid().ToString()
}
};
return Json(collection.ToDataSourceResult(request));
}
您必须定义网格由数据填充的方式。在这种情况下,我使用.Read函数来查询行的控制器方法EIDRead。当然,您可以将数据直接传递给网格,但这种方法更易于维护。