插入 DateTime.now() Lightswitch HTML
Insert DateTime.now() Lightswitch HTML
我正在尝试将当前 date/time 写入 SQL 中的一个字段,数据类型是 DateTime,在 Lightswitch HTML.
中
基本上,当用户将任何编辑保存到特定屏幕时,我希望记录日期和时间并显示在屏幕上。
在 LS 中,我有一个 属性 叫做 DtLastChangedBy。它是 SQL.
中的 DateTime 列
我正在选择 AddEditScreen 并选择 Write Code > before_applyChanges 来修改方法。
到目前为止,我已经尝试过这样的事情...
myapp.AddEditDevice.beforeApplyChanges = function (screen) {
// Write code here.
screen.AddEditDevice.DtLastChangeBy
return Date.now();
};
但是我觉得我的js很欠缺=(.
有什么建议吗?我最终也会喜欢 return 登录用户,因此它会显示 X 用户最后在 X 时间保存此记录。
谢谢!
最优雅的方法是使用服务器端 'entity_Created' 和 'entities_Updating' 方法。
这可确保为客户端和服务器生成的更新更新字段。它还可以轻松地适应更新用户字段(如您 post 末尾所建议的那样)。
要实施此方法,您需要 select 设备 table 设计器屏幕上的 'Write Code' 按钮和 select 两个相应的 'General Methods' 选项。
这将允许您将以下 c# 代码引入 'entity_Created' 通用方法:
partial void Device_Created()
{
this.DtLastChangeBy = DateTime.Now;
this.UserLastChangeBy = this.Application.User.Name;
}
和下面进入'entity_Updating'一般方法:
partial void Devices_Updating(Device entity)
{
entity.DtLastChangeBy = DateTime.Now;
entity.UserLastChangeBy = this.Application.User.Name;
}
在上面的代码片段中,我使用了字段名称 'UserLastChangeBy' 来反映您在 DateTime 字段中使用的名称。
我正在使用 'answer',所以我可以 post 编码。我用它来管理浏览屏幕刷新...
myapp.BrowseDevices.Devices_ItemTap_execute = function (screen) {
// Write code here.
myapp.showAddEditDevice(screen.Devices.selectedItem, {
//beforeShown: function (addEditOrderLines) {
//addEditOrderLines.OrderLines = screen.OrderLines.selectedItem;
//},
afterClosed: function (addEditDevice, navigationAction) {
if (navigationAction === msls.NavigateBackAction.commit) {
screen.Devices.refresh();
}
}
});
};
如果有更smooth/elegant的方法可以做到这一点,我很想知道!我确定日期问题可以在其他地方解决(?)。
谢谢!
我正在尝试将当前 date/time 写入 SQL 中的一个字段,数据类型是 DateTime,在 Lightswitch HTML.
中基本上,当用户将任何编辑保存到特定屏幕时,我希望记录日期和时间并显示在屏幕上。
在 LS 中,我有一个 属性 叫做 DtLastChangedBy。它是 SQL.
中的 DateTime 列我正在选择 AddEditScreen 并选择 Write Code > before_applyChanges 来修改方法。
到目前为止,我已经尝试过这样的事情...
myapp.AddEditDevice.beforeApplyChanges = function (screen) {
// Write code here.
screen.AddEditDevice.DtLastChangeBy
return Date.now();
};
但是我觉得我的js很欠缺=(.
有什么建议吗?我最终也会喜欢 return 登录用户,因此它会显示 X 用户最后在 X 时间保存此记录。
谢谢!
最优雅的方法是使用服务器端 'entity_Created' 和 'entities_Updating' 方法。
这可确保为客户端和服务器生成的更新更新字段。它还可以轻松地适应更新用户字段(如您 post 末尾所建议的那样)。
要实施此方法,您需要 select 设备 table 设计器屏幕上的 'Write Code' 按钮和 select 两个相应的 'General Methods' 选项。
这将允许您将以下 c# 代码引入 'entity_Created' 通用方法:
partial void Device_Created()
{
this.DtLastChangeBy = DateTime.Now;
this.UserLastChangeBy = this.Application.User.Name;
}
和下面进入'entity_Updating'一般方法:
partial void Devices_Updating(Device entity)
{
entity.DtLastChangeBy = DateTime.Now;
entity.UserLastChangeBy = this.Application.User.Name;
}
在上面的代码片段中,我使用了字段名称 'UserLastChangeBy' 来反映您在 DateTime 字段中使用的名称。
我正在使用 'answer',所以我可以 post 编码。我用它来管理浏览屏幕刷新...
myapp.BrowseDevices.Devices_ItemTap_execute = function (screen) {
// Write code here.
myapp.showAddEditDevice(screen.Devices.selectedItem, {
//beforeShown: function (addEditOrderLines) {
//addEditOrderLines.OrderLines = screen.OrderLines.selectedItem;
//},
afterClosed: function (addEditDevice, navigationAction) {
if (navigationAction === msls.NavigateBackAction.commit) {
screen.Devices.refresh();
}
}
});
};
如果有更smooth/elegant的方法可以做到这一点,我很想知道!我确定日期问题可以在其他地方解决(?)。
谢谢!