0

我有一个时间字段,我想在lightswitch屏幕上表示。他们只提供日期时间选择器和查看器。有人知道解决这个问题吗?

我不想要日期,只想要时间。在我的数据库中,该列定义为time(7). 现在只需要在 Lightswitch 中获取它。请帮忙。

我尝试将我的数据库类型更改为varchar并使用常规文本框,但是 Lightswitch 没有让我格式化文本框(例如 AM/PM)。如果我能做到这一点,那将是一个很好的解决方法,但是我不能在 Lightswitch 中做到这一点。

4

2 回答 2

0

对于控件,我很确定你会被日期时间选择器/查看器困住,除非你创建一个只做时间的自定义控件。在这种情况下,@MichaelWashington 在@MattThalman 提到的答案中链接的文章是要走的路。

但至于显示,Lightswitch 当然允许您根据自己的喜好对其进行格式化。查看此 MSDN 文章:如何:在 LightSwitch 应用程序中格式化数字和日期。基本上你会在数据设计器中打开你的表,然后选择你的日期时间字段。在该字段的属性中,您可以输入格式模式。

来自 MSDN 文章:参考:数字和日期格式。的格式模式"t"将导致显示结果:1:45 PM

@marc_s 是正确的。使用适当的类型。将日期和时间存储为字符串会在以后给您带来很多麻烦。不要这样做。

我不确定在 Lightswitch 中使用日期时间类型的后果time(7)是 SQL。我可能只是将您的数据库类型更改为datetimeor datetime2。如果您不使用日期部分,那就这样吧。但如果需求发生变化,它将在稍后出现。

于 2014-04-11T13:24:25.027 回答
0

我遇到了同样的问题并想出了这个解决方案。

在代表日期字段的日期时间控件上,您可以在渲染后事件上使用 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();

};
于 2016-04-29T06:00:58.980 回答