如何从Lightswitch Desktop Client中的实体的摘要属性中删除时间?

时间:2017-03-13 22:30:06

标签: c# silverlight visual-studio-lightswitch

在Lightswitch实体/表中,我有一个名为" DisplayName"的计算字段。我用作该实体的摘要属性。计算的属性/字段包含FirstName,LastName,出生日期和主要电话。像这样:

partial void DisplayName_Compute(ref string result) { // Set result to the desired field value result = FirstName + " " + LastName + " " + DOB+" "+PrimaryPhone;

在C#中。

DOB,对于出生日期,其数据类型为"日期"在实体/表中。在桌面客户端应用程序的ListDetail屏幕的列表列中,将记录显示为:

John Doe 01/17/1980 12:00:00 A.M. 555-555-5555 我想剥掉时间,看起来像这样:

John Doe,01/17/1980,555-555-5555

2 个答案:

答案 0 :(得分:0)

这应该适用于您的场景:)

partial void DisplayName_Compute(ref string result)

        {
            //CREATE A DATETIME PARAMETER
            DateTime theDate = Convert.ToDateTime(entity.DOB);

            // Set result to the desired field value
            result = FirstName + " " + LastName + " " + theDate.Date + " " + PrimaryPhone;
        }

或者这将:

partial void DisplayName_Compute(ref string result)

        {
            //CREATE A DATETIME PARAMETER
            DateTime theDate = Convert.ToDateTime(entity.DOB);

            // Set result to the desired field value
            result = FirstName + " " + LastName + " " + theDate.ToString("dd.MM.yy") + " " + PrimaryPhone;
        }

答案 1 :(得分:-1)

使用String.Format使用您想要的格式从多个参数生成字符串。在这种情况下,它是:

var result=String.Format("{0} {1} {2:d} {3}",FirstName,LastName,DOB,PrimaryPhone");

这将返回使用客户文化的适当短日期格式格式化的日期。如果您想将其硬编码为美国格式,您可以传递适当的文化:

var result=String.Format(CultureInfo.GetCultureInfo("en-US"),
                         "{0} {1} {2:d} {3}",FirstName,LastName,DOB,PrimaryPhone");