使用 Kendo Grid 获取数据时日期格式发生变化

2024-01-11

我正在尝试使用一些参数获取数据并将其加载到剑道网格中。但是当我使用日期参数时,日期格式正在改变,因此在服务器端显示错误的日期。

作为我使用的参数的示例:new Date("April 01, 2016")。但在服务器端它变成 04/01/2016 这是错误的。

function passFilterCstDetails() {

        var statemenetInquiryParameter = {};

        statemenetInquiryParameter.isPrintZero = true;
        statemenetInquiryParameter.isPrintPayments = true;
        statemenetInquiryParameter.isPrintAdjust = true;
        statemenetInquiryParameter.cst_stmt_from = new Date("April 01, 2016");
        statemenetInquiryParameter.cst_stmt_to = new Date("April 12, 2016");
        statemenetInquiryParameter.customerCode = 007;

        return {
            statemenetInquiryParameter: statemenetInquiryParameter
        }
    }
<div class="row">
                    <div class="col-xs-12 col-sm-12 col-md-12 col-lg-12">
                        @(Html.Kendo().Grid<ServicePROWeb.ServiceProWCFService.CstTran>()
                            .Name("gridCustomerCstTranDetails")
                            .Columns(columns =>
                            {
                                columns.Bound(p => p.cst_inv_date).Title("Invoice Date").HtmlAttributes(new { @style = "text-align: right;" }).Format(Session["DisplayFormat_GridDate"].ToString()).Width(80);
                                columns.Bound(p => p.cst_type).Title("Type").Width(80);
                                columns.Bound(p => p.cst_ih_invno).Format("{0:n2}").HtmlAttributes(new { @style = "text-align: right;" }).Filterable(false).Title("Invoice Number").Width(80);
                                columns.Bound(p => p.cst_dr_amount).Format("{0:n2}").HtmlAttributes(new { @style = "text-align: right;" }).Filterable(false).Title("Debit").Width(80);
                                columns.Bound(p => p.cst_cr_amount).Format("{0:n2}").HtmlAttributes(new { @style = "text-align: right;" }).Filterable(false).Title("Credit").Width(80);
                                columns.Bound(p => p.cst_dr_balance).Format("{0:n2}").HtmlAttributes(new { @style = "text-align: right;" }).Filterable(false).Title("Balance").Width(80);
                            })
                            .Selectable()
                            .Sortable()
                            .Scrollable()
                            .Resizable(resize => resize.Columns(true))
                            .HtmlAttributes(new { style = "cursor:pointer;height:auto;width:auto;margin-top: 0px;" })
                            .DataSource(dataSource => dataSource
                            .Ajax()
                            .Read(read => read.Action("LoadCustomerStatementEnquiryDetails", "Stage").Data("passFilterCstDetails")))
                        )
                    </div>
                </div>
public class StatemenetInquiryParameter
{
    public decimal customerCode { get; set; }
    public DateTime cst_stmt_from { get; set; }
    public DateTime cst_stmt_to { get; set; }
    public bool isPrintZero { get; set; }
    public bool isPrintPayments { get; set; }
    public bool isPrintAdjust { get; set; }
}

public ActionResult LoadCustomerStatementEnquiryDetails([DataSourceRequest]DataSourceRequest request, StatemenetInquiryParameter statemenetInquiryParameter)
    {
        List<CstTran> l = new List<CstTran>();

        for (int i = 0; i < 12; i++)
        {
            CstTran c = new CstTran();

            c.cst_inv_date = statemenetInquiryParameter.cst_stmt_from.AddDays(i);
            c.cst_type = "I";
            c.cst_ih_invno = i + 1;
            c.cst_dr_amount = i;
            c.cst_cr_amount = 0;
            c.cst_dr_balance = c.cst_dr_balance + i;

            l.Add(c);
        }

        return Json(l.ToDataSourceResult(request));
    }

我也遇到这个问题,通过检查保存时的数据格式解决了。

1-保存时查找数据

 var dataS = $("#grid").data("kendoGrid").dataSource;
 var updatedData = dataS._data;

2-检查格式然后保存,我的数据参数是rsrc_dt

    var dateValue = updatedData[i].rsrc_dt;
    var day; var year; var mon;
    if (typeof dateValue === 'string' || dateValue instanceof String) {
    day = dateValue.split('/')[0];  // use when date is not in correct string format
    mon = dateValue.split('/')[1];
    year = dateValue.split('/')[2];
    var dateS = day + '/' + mon + '/' +year;
    serverData[i].rsrc_dt = dateValue;
    }
    else if (dateValue instanceof Date) {
    var date = new Date(updatedData[i].rsrc_dt);
    year = date.getFullYear();
    day = date.getDate();
    day = day < 10 ? '0' + day : day
    mon = date.getMonth();
    mon = mon + 1;
    mon = mon < 10 ? '0' + mon : mon;
    var dateF = day + "/" + mon + "/" + year;
    serverData[i].rsrc_dt = dateF;
    }

3-您也可以尝试一下,在字段模板中给出数据格式,如下所示

     { field: "rsrc_dt", title: "Session Date", format: "{0:dd/MM/yyyy}", editor: dateTimeEditor, width: 73, attributes: { "class": "azN" }, },

4-使用日期编辑器

  function dateTimeEditor(container, options) {
  $('<input name="editableBlock" data-text-field="' + options.field +    '" data-value-field="' + options.field + '" data-bind="value:' + options.field + '" data-format="' + options.format + '"/>')
            .appendTo(container)
            .kendoDatePicker({ min: btch_strt_dt });

}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 Kendo Grid 获取数据时日期格式发生变化 的相关文章

随机推荐

  • 虚拟盒与 Windows 10 主机的共享文件夹中的符号链接

    我正在虚拟盒子容器中运行 Linux ubuntu 系统 我在共享目录中使用了符号链接 这需要一些额外的工作 如下所述 https www virtualbox org ticket 10085 https www virtualbox o
  • Terraform 强制按计划/应用现有安全组创建新的 ec2 资源

    我有一段非常简单的 Terraform 代码 provider aws region eu west 1 module ec2 source ec2 instance name EC2 Instance 1 其中模块是 variable n
  • 使用material-ui appbar 和material-ui-next 向右或向左浮动的正确方法是什么?

    我不知道在使用material ui next material ui 1 0 0 beta 22 看来他们删除了iconElementRight 来自 API 我们必须使用
  • AWS S3 CLI - 无法连接到终端节点 URL

    aws s3 ls Could not connect to the endpoint URL https s3 us east 1a amazonaws com 可能是什么问题呢 您的默认区域的默认配置文件可能有问题 检查您的文件 aws
  • 捕获异常后判断异常类型?

    即使知道您使用 catch all 捕获了异常 是否有办法确定异常类型 Example try SomeBigFunction catch Determine exception type here 简短回答 不 长答案 如果您从公共基类型
  • Eclipse 中的 SSL 调试

    运行 Eclipse 应用程序时出现以下错误 javax net ssl SSLHandshakeException sun security validator ValidatorException PKIX path building
  • C# 模拟键盘输入

    我需要知道如何模拟按键的键盘输入W S A D 我用过SendKeys没有任何效果以及InputSimulator库没有修复 我想做的是让游戏 战地 自然选择等较新的 FPS 游戏 等应用程序将这些模拟按键注册为真实的按键 我正在尝试制作一
  • 如何从 qml 启动 Qthread?

    我需要立即启动并停止 Qml 文件中的 QThread 扩展类 有什么解决办法吗 这是我的课 class SerialManager public QThread Q OBJECT public CircularList
  • List 和 Set 的性能和内存分配比较

    我想知道List和Set在性能 内存分配和可用性方面的比较 如果我没有任何要求保持对象列表中的唯一性 也不需要维护插入顺序 我可以互换使用ArrayList和SortedSet HashSet吗 直接使用 Collections 类而不是列
  • Delphi onshow 主窗体/模态窗体

    我有一个项目 有一个主窗体和一些其他窗体 当应用程序加载时 它需要执行一些任务并在主窗体顶部以模式形式显示结果 我遇到的问题是 如果我调用函数来执行任务 创建并在主窗体 onshow 事件中显示模态窗体 则模态窗体会出现 但主窗体不会出现
  • Bootstrap 3.3.2 中的媒体列表和文本溢出

    我最近将我的项目从 Bootstrap 3 2 x 更新到 3 3 2 最后一个版本 我发现与媒体对象 http getbootstrap com components media元素 我想在媒体标题中使用特殊的 less mixin te
  • WebViewCoreThre 中的 Android 致命信号 11 (SIGSEGV)

    使用东芝 AT300SE 101 v4 1 1 与其他平板电脑兼容 和一个简单的应用程序 该应用程序因错误而终止 06 19 11 02 12 092 A libc 20030 Fatal signal 11 SIGSEGV at 0x00
  • 如何在 python 中使用 C 扩展来绕过 GIL

    我想在 Python 中跨多个内核运行一个 cpu 密集型程序 并试图找出如何编写 C 扩展来做到这一点 有这方面的代码示例或教程吗 您已经可以将一个 Python 程序分解为多个进程 操作系统已经将您的进程分配给所有核心 Do this
  • 如何在位图上绘制整个表单?

    我想在画布上绘制整个表单 包括其标题栏和框架TBitmap object GetFormImage很酷 但是有两个问题 它也不粉刷窗框 当表单隐藏时它不起作用 您有解决这些问题的想法吗 访问非客户区的关键是GetWindowDC http
  • jUnit不同情况下相同的异常

    我正在为构造函数编写 jUnit 测试 该构造函数解析字符串 然后检查许多内容 当数据错误时 对于每件事 都会抛出一些带有不同消息的 IllegalArgumentException 所以我想为它编写测试 但是我如何识别抛出了什么错误 我该
  • 我如何可以为 UINavigationBar 而不是 UITabBar 的条色调颜色变化设置动画?

    我正在我的应用程序中实现一个主题 但遇到了一个奇怪的错误 功能 由于某些奇怪的原因 我无法使用UIView animate在我的自定义 UITabBarController 类中 对 UITabBar 的颜色变化进行动画处理 但相同的代码在
  • MySQL 在一个查询中获取 Mindate 和 Maxdate

    如何仅使用一个sql查询获取mysql中的最大日期和最小日期 SELECT MIN date col MAX date col FROM table name
  • 持有多个锁的线程进入 wait() 状态。它会释放所有持有锁吗?

    我编写了这个程序来检查线程 t1 是否持有两个不同对象的锁 Lock class 和 MyThread class 使用 MyThread class wait 在 MyThread class 实例上进入等待模式 它不会释放 Lock c
  • 使用 v4 Fragments API 实现 ActionBar 选项卡

    我的应用程序当前使用 Fragments v4 兼容性包来支持 Android 版本一直到 1 6 这意味着我的所有片段都继承自兼容包的版本Fragment 我目前正在尝试重新设计应用程序的部分内容以利用 Honeycomb 功能 例如Ac
  • 使用 Kendo Grid 获取数据时日期格式发生变化

    我正在尝试使用一些参数获取数据并将其加载到剑道网格中 但是当我使用日期参数时 日期格式正在改变 因此在服务器端显示错误的日期 作为我使用的参数的示例 new Date April 01 2016 但在服务器端它变成 04 01 2016 这