商信互联
IFileData类型的属性称为文件附件属性,并使用文件附件属性编辑器。本主题描述了在持久类中添加文件附件属性的面向XPO的方法。这里考虑以下方法:
在本节中,代码段演示了要在持久性类中添加的FileData属性的示例。有关此示例中使用的属性的详细信息,请参考以下主题。
[Aggregated, ExpandObjectMembers(ExpandObjectMembers.Never)]
[FileTypeFilter("DocumentFiles", 1, "*.txt", "*.doc")]
[FileTypeFilter("AllFiles", 2, "*.*")]
public FileData Document {
get { return document; }
set { SetPropertyValue(nameof(Document), ref document, value); }
}
<Aggregated, ExpandObjectMembers(ExpandObjectMembers.Never), _
FileTypeFilter("DocumentFiles", 1, "*.txt", "*.doc"), _
FileTypeFilter("AllFiles", 2, "*.*")>
Public Property Document() As FileData
Get
Return document
End Get
Set(ByVal value As FileData)
SetPropertyValue(NameOf(Document), document, value)
End Set
End Property
此外,除了“属性编辑器”功能之外,您还可以使用FileAttachmentAttribute启用管理文件附件的操作。
业务类库中内置的抽象FileAttachmentsBase类用FileAttachmentAttribute装饰,并具有FileData类型的File属性。要使用文件附件属性,您可以创建此类的自定义后代。
请参阅将文件附加到对象主题中使用此方法的示例。
您可以添加XPCollection <FileAttachment>类型的属性,其中FileAttachment是使用FileAttachment属性的类(例如FileAttachmentBase类)。在这种情况下,具有FileAttachment对象集合的列表属性编辑器将显示在UI中。该属性编辑器将随附特殊的控制器动作:
WinForms应用程序
所述FileAttachmentController提供了打开和SaveTo操作; 和FileAttachmentListViewController - AddFromFile操作。这两个控制器仅针对具有使用FileAttachment属性的对象的视图(对于FileAttachmentListViewController而言为列表视图)激活。
ASP.NET Web应用程序
该FileAttachmentController提供下载操作。仅对于具有使用FileAttachment属性的对象的视图激活此Controller 。
要将文件集合添加到业务类,可以实现XPCollection <IFileData>类型属性,而不是XPCollection <FileAttachment>类型属性(FileAttachment是使用FileAttachment属性的类)。在这种情况下,这些属性也将由“列表属性编辑器”显示。但是请注意,将不会显示上面列出的操作,因为不会激活特殊的控制器。
您可以根据需要创建自己的IFileData实现。若要查看示例,请参考%PROGRAMFILES(x86)%\ DevExpress 19.2 \ Components \ Sources \ DevExpress.Persistent \ DevExpress.Persistent.BaseImpl \ FileData.cs上的FileData类源,或如何:在以下位置存储文件附件文件系统,而不是数据库支持中心示例。