当前位置: 首页 > 知识库问答 >
问题:

剑道网格内联编辑日期时间

季城
2023-03-14

我对剑道网格自定义编辑器有问题。当我点击剑道网格上的编辑按钮时,我想使用dateTimePicker作为我的编辑器。但当我尝试使用dateTimePicker自定义网格时,总会出现错误:

Uncaught TypeError: e.indexOf is not a function ---------- kendo.custom.min.js:1 

以下是简单的源代码:

  var data = [
            {"id":1, "dateTime": 1420947900000},
            {"id":2, "dateTime": 1421034300000},
            {"id":3, "dateTime": 1421036100000},
            ];
$("#grid").kendoGrid({
    selectable: true,
    editable: "inline",
    columns: [
        { 
            field: "dateTime", 
            title: "<center>Date Time</center>", 
            width: "200px",
            format: "{0:MM/dd/yyyy hh:mm}",
            template: "#= kendo.toString(new Date(parseInt(dateTime)), 'MM/dd/yyyy hh:mm') #",
            editor: dateTimeEditor2
        },
        { command: ["edit", "destroy"], title: "&nbsp;", width: "170px" }
    ],
    dataSource: {
        transport: {
            read: function(e) {
                e.success(data);
            },
            update: function(e) {
                //my update Function
        alert(e.dateTime);
            },
            autosync: true
        },
        schema: {
             model: {
                 id: "id",
                 fields: {
                     dateTime: { type: "datetime" },
                 }
             }
        }
    }
});
function dateTimeEditor2(container, options) {
    $('<input data-text-field="' + options.field + '" data-value-field="' + options.field 
            + '" data-bind="value:' + options.field + '" />')
            .appendTo(container)
            .kendoDateTimePicker({
                format:"MM/dd/yyyy hh:mm",
                value: new Date(options.model.dateTime)
            });
}

或者你可以在这个链接上查看

我已经在许多不同的来源上检查了它,例如:

  1. 参考文献1
  2. 参考文献2

共有1个答案

松铭
2023-03-14

“dateTime”字段是数字字段,但网格选项使用的是“dateTime”类型。在编辑器函数中,在自定义输入上使用“数据绑定”属性会阻止kendoUI代码,因为它需要某种类型的日期文本。。

我将代码更新字段类型更改为数值,并删除了输入属性。错误消失了。Bu您需要使用自定义事件实现DateTimePicker,以便在更改编辑器值时更新grid dataItem的数值。或者可能是在示例中单击“更新”按钮时,通过将datetime值解析为整数并设置网格数据项。。

http://dojo.telerik.com/ecICE

额外注意:我也会考虑在将数据绑定到网格之前,将数据值数组更改为JS DATE时间值。这可能是更简单的解决方案

--

 类似资料:
  • 我想在我的剑道ui网格中进行内联编辑。数据绑定似乎工作正常,但当我在编辑某些内容后单击“更新”按钮时,范围会得到更新,但编辑对话框不会消失。如果单击另一个编辑按钮,它将进入失效状态。毕竟,只有当我至少提供一个伪函数作为k-save时,它才会更新作用域。出于某种原因,单击“取消”按钮确实会更新范围。所以“取消”按钮实现了我对“更新”按钮的期望。 您可能会看到,我想更新客户端的本地范围,而不是向任何服

  • 剑道内嵌单元格编辑不支持日期时间格式。我需要"dd/MMM/yyyy"数据格式,但是剑道网格显示"提交的日期必须是日期"错误。你能告诉我该怎么做吗

  • 嗨,我正在尝试做剑道网格,但它不工作,显示网格,但没有显示数据。我不知道怎么了。我不知道parametersMap是怎么工作的。请帮帮我。 控制器 这是剧本 Json数据返回:http://localhost:53232/Home/GetGeo?id=5

  • 我使用的MVC剑道网格有4列,其中一列是DateTime字段。网格允许内联和批处理编辑。当我单击布尔字段时,它会显示一个复选框。如果我点击一个文本字段,它会显示一个文本字段。我猜对于日期字段,它应该显示一个日期选择器。相反,它显示一个文本字段。 以下是网格上的列声明: 这里是我的模型属性: 我错过了什么?我现在唯一的猜测是丢失了一个. js文件还是什么?请让我知道。谢谢!

  • 我对某些字段的验证有问题。我只想验证几个字段,其他字段不应该验证。在我的Email字段中,我启动了一个函数来检查格式是否正确,但其他字段只是设置为验证。任何帮助都将不胜感激。 使用此代码,在尝试保存/更新时将验证所有字段。我不想验证分机或电话号码。

  • 我需要在剑道网格(内联编辑)中使用多重选择列表,以便用户可以从每行列表中选择多个值。 以下是我的要求: 在显示时,剑道网格应该显示所有选定值的逗号分隔列表。 在添加时,剑道网格应该显示多重选择列表,并允许选择多个值。 在编辑时,剑道网格应该显示具有已选择值的多选列表。用户应该能够修改从列表中选择和添加/删除项目。 当用户点击更新/保存按钮时,多选列表中的选定值应该在代码后面(在更新ajax操作中)