javascript - 如何在kendo grid javascript中显示Sql Server时间戳列

标签 javascript kendo-ui kendo-grid

我的一个 SQL Server 表中有一个时间戳列,用于维护行版本控制, 但我不知道如何在剑道网格上显示它的值, 这是必需的,因为我的实体不会更新该列中具有空值的记录,通过在网格上显示时间戳值,我将在更新记录时收回它。 这是我的剑道网格架构

 schema: {
            errors: function(response) {
                if (response.Voucher && response.Voucher !== "True") {
                    return response.Voucher;
                }
                return false;
            },
            data: "data",
            total: "total",
            model: {
                id: "ID",
                fields: {
                    ID: { editable: false, nullable: true },
                    FK_Category_ID: { defaultValue: -1, validation: { required: { message: "" } } },
                    CompanynameAr: { type: "string", validation: { required: { message: " " } } },
                    CompanynameEn: { type: "string" },
                    FK_Country_ID: { defaultValue: -1, validation: { required: { message: "" } } },

                    Address: { type: "string", validation: { required: { message: "" } } },
                    PoBox: { type: "string" },
                    Contractno: { type: "number", validation: { required: { message: "" },min:0 } },
                    Refrence: { type: "number",validation:{min:0}},
                    RemarksMarketing: { type: "string" },
                    Active: { type: "string" },
                    Latitude: { type: "string" },
                    Longitude: { type: "string" },
                    RowVersion: {
                        type: "date", parse: function (value) {
                            return new Date(value * 1000);
                        }
                    }

                    //Address
                }
            }
        }

这里 RowVersion 是我保存时间戳值的列,解析函数只是被点击并尝试解决特定问题,但不会成功。所以需要帮助

最佳答案

在服务器端,添加或更新记录时,不应在查询中包含时间戳 (RowVersion) 列(即使使用 NULL 值)。 SQL Server 将在对任何记录的每次更改时自动生成 RowVersion 列的值。因此,如果您使用普通 SQL,请从 SQL 中删除 RowVersion;或者,如果您使用 Entity Framework Code-First,则可以使用 [DatabaseGenerate(DatabaseGenerateOption.Compulated)] 属性来通知 Entity Framework 它不应更新相关列。

无论如何,如果您想向用户显示时间戳(rowversion)值,它是一个 8 字节自动递增整数,通常映射到 byte[] 类型,您可以使用 BitConverter.ToInt64() 将其转换为 long 并将其显示给用户。但您永远不需要在添加/更新请求时在 Controller 中接收它,因为您不应将其包含在查询中。

关于javascript - 如何在kendo grid javascript中显示Sql Server时间戳列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42973671/

相关文章:

javascript - 如何在右侧对齐 Kendo Tab Strip 选项卡?

javascript - mootools/class/objectinstance 不起作用

javascript - jquery ajax传递2个数组,然后拆分它们并在laravel中单独使用它们

jquery - 剑道网格 : Delete button without X icon

javascript - Kendo UI 日期选择器按周捕获

kendo-ui - Kendo Grid DateTime 列显示不正确的日期

jquery - 如何隐藏网格标题剑道用户界面?

javascript - 无论浏览器如何,复制文本区域文本

javascript - 使用 Kendo 格式时确保固定的小数位数

Javascript - 如何动态地将对象添加到 kendo ui 网格中的列数组?