我在服务器端元数据类中有一个包含以下字段的实体:
Partial Friend Class CustomerMetadata
<Required()> _
<Display(Order:=1, Name:="First Name")> _
Public Property FirstName As String
<Required()> _
<Display(Order:=2, Name:="Last Name")> _
Public Property LastName As String
<Required()> _
<Display(Order:=3, Description:="Phone")> _
Property DisplayPhone As String
<Required()> _
<Display(Order:=4, Name:="Email Address")> _
Public Property EmailAddress As String
End Class
现在在客户端,我想交换数据网格中电话和电子邮件地址字段的显示顺序,因此我创建了一个新的客户端CustomerMetadata类,如下所示:
Partial Friend Class CustomerMetadata
<Required()> _
<Display(Order:=4, Description:="Phone")> _
Property DisplayPhone As String
<Required()> _
<Display(Order:=3, Name:="Email Address")> _
Public Property EmailAddress As String
End Class
客户端不会选择重写的显示顺序。关于如何覆盖客户端元数据类中的Display属性的任何想法?
答案 0 :(得分:2)
无法覆盖您在服务器上设置的客户端中的元数据。
特别是,RIA Services的元数据类概念是服务器端概念 - 只有在使用Entity Framework和模型优先方法时才使用,您可以让设计人员创建实体类。您在服务器上的元数据类上放置的属性将在构建期间自动生成为客户端上实际实体的属性。
由于排序属性是我在使用自动生成的列时控制DataGrid
排序的唯一方法,因此我只想到两种方法来规避问题:
(为了完成起见,我应该提一下,您也可以使用自动生成RIA服务客户端代码的方式,但这对您遇到的问题不合适。)