I have a pretty simple BCS model:
public Guid Id { get; set; }
public SPFieldUrlValue Url { get; set; }
public string Description { get; set; }
public string Owner { get; set; }
public DateTime CreatedOn { get; set; }
The Url property contains both the Title and URL like any SharePoint Hyperlink property. The BCS model has the following Type Descriptor for both the ReadList and ReadItem methods:
<TypeDescriptor Name="Url" TypeName="Microsoft.SharePoint.SPFieldUrlValue">
<Properties>
<Property Name="SPCustomFieldType" Type="System.String">`URL</Property>
</Properties>
</TypeDescriptor>
In the list definition's schema.xml I have the following values for the Fields collection:
<Field Name="BdcIdentity" DisplayName="BDC Identity" Hidden="FALSE" SourceID="http://schemas.microsoft.com/sharepoint/v3" StaticName="BdcIdentity" Type="Text" />
<Field Name="Id" DisplayName="Id" Hidden="FALSE" SourceID="http://schemas.microsoft.com/sharepoint/v3" StaticName="Id" Type="Text" />
<Field Name="Url" DisplayName="Url" Format="Hyperlink" Hidden="FALSE" SourceID="http://schemas.microsoft.com/sharepoint/v3" StaticName="Url" Type="URL" />
<Field Name="Description" DisplayName="Description" Hidden="FALSE" SourceID="http://schemas.microsoft.com/sharepoint/v3" StaticName="Description" Type="Text" />
<Field Name="Owner" DisplayName="Owner" Hidden="FALSE" SourceID="http://schemas.microsoft.com/sharepoint/v3" StaticName="Owner" Type="Text" />
<Field Name="CreatedOn" DisplayName="Created On" Hidden="FALSE" SourceID="http://schemas.microsoft.com/sharepoint/v3" StaticName="CreatedOn" Type="DateTime" />
Nothing too fancy. When I open up the default view, however, it does not display the URL properly in the table view - it displays nothing. In the individual item view it does display properly. Any thoughts on how to get an SPFielidUrlValue to render properly on the UI?