我有一个时间字段,我想在lightswitch
屏幕上表示。他们只提供日期时间选择器和查看器。有人知道解决这个问题吗?
我不想要日期,只想要时间。在我的数据库中,该列定义为time(7)
. 现在只需要在 Lightswitch 中获取它。请帮忙。
我尝试将我的数据库类型更改为varchar
并使用常规文本框,但是 Lightswitch 没有让我格式化文本框(例如: AM/PM)。如果我能做到这一点,那将是一个很好的解决方法,但是我不能在 Lightswitch 中做到这一点。
我有一个时间字段,我想在lightswitch
屏幕上表示。他们只提供日期时间选择器和查看器。有人知道解决这个问题吗?
我不想要日期,只想要时间。在我的数据库中,该列定义为time(7)
. 现在只需要在 Lightswitch 中获取它。请帮忙。
我尝试将我的数据库类型更改为varchar
并使用常规文本框,但是 Lightswitch 没有让我格式化文本框(例如: AM/PM)。如果我能做到这一点,那将是一个很好的解决方法,但是我不能在 Lightswitch 中做到这一点。
对于控件,我很确定你会被日期时间选择器/查看器困住,除非你创建一个只做时间的自定义控件。在这种情况下,@MichaelWashington 在@MattThalman 提到的答案中链接的文章是要走的路。
但至于显示,Lightswitch 当然允许您根据自己的喜好对其进行格式化。查看此 MSDN 文章:如何:在 LightSwitch 应用程序中格式化数字和日期。基本上你会在数据设计器中打开你的表,然后选择你的日期时间字段。在该字段的属性中,您可以输入格式模式。
来自 MSDN 文章:参考:数字和日期格式。的格式模式"t"
将导致显示结果:1:45 PM
。
@marc_s 是正确的。使用适当的类型。将日期和时间存储为字符串会在以后给您带来很多麻烦。不要这样做。
我不确定在 Lightswitch 中使用日期时间类型的后果time(7)
是 SQL。我可能只是将您的数据库类型更改为datetime
or datetime2
。如果您不使用日期部分,那就这样吧。但如果需求发生变化,它将在稍后出现。
我遇到了同样的问题并想出了这个解决方案。
在代表日期字段的日期时间控件上,您可以在渲染后事件上使用 JQuery 来隐藏您不想要的部分。
myapp.AddEditEvents.FinishTime_postRender = function (element, contentItem) {
// Hide the Date part of the Control by removing the first fieldset tag it comes to,
$(element).find('fieldset:first').remove();
};