c# - 将 kendo ui 网格中的列默认值设置为 DateTime.Now

标签 c# asp.net-mvc kendo-ui kendo-grid

我想在我的 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().Grid<Kendo_UI_Bootstrap_Integration.Models.EID>()
        .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"))
    ) )

我的模型代码:

using System; 
using System.Collections.Generic; 
using System.Globalization; 
using System.Linq; 
using System.Web;

namespace 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; }
    }
 }

我的 Controller 代码:

using System;
using System.Collections.Generic;
using System.Linq; using System.Web; 
using System.Web.Mvc;

namespace Kendo_UI_Bootstrap_Integration.Controllers {
    public class EidController : Controller
    {
        // GET: Eid
        public ActionResult EidView ()
        {
            return View();
        }
    }
}

最佳答案

尝试这样的事情:
型号:

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"))
    ))

Controller :

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 函数来查询 Controller 方法 EIDRead 以获取行。当然你可以直接将数据传递给网格,但这种方法更易于维护。

关于c# - 将 kendo ui 网格中的列默认值设置为 DateTime.Now,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44901426/

相关文章:

android - onclick 仅在点击三下后触发

javascript - 使用 jQuery 从 Kendo UI Grid 中删除行

c# - 为什么此代码会生成 NotSupportedException?

c# - 需要对复杂的物体进行排序,例如多米诺骨牌

c# - 隐式转换如何与运算符重载一起使用?

asp.net-mvc - Azure 中的 ASP.NET MVC 路由

c# - 根据 Icollection 中的值对 Ienumerable 进行排序的正确 LINQ 语法

javascript - 自定义复选框在剑道网格中不可单击

c# - 从后台线程更新时 UI 稍微卡住

c# - 将 MongoDB 文档转换为对象的 c# 列表