Sorting and Grouping works well, but I ran into a case where Grouping ans sorting get disabled.
Here is the code.
<
telerikGridView:RadGridView x:Name="SIACMessages" IsReadOnly="True" ColumnsWidthMode="Fill" AutoGenerateColumns="False" >
<telerikGridView:RadGridView.Columns>
<telerikGridView:GridViewDataColumn DataMemberPath="From.Name" HeaderText="De:" />
<telerikGridView:GridViewDataColumn DataMemberPath="Subject" HeaderText="Asunto:"/>
<telerikGridView:GridViewDataColumn DataMemberPath="ReceivedDate" HeaderText="Fecha de Recepci¢n:"/>
</telerikGridView:RadGridView.Columns>
</telerikGridView:RadGridView>
When you use Property.Subproperty, this functionality gets automatically disabled. On the other columns works fine.
This is the object Structure that is being Binded.
namespace
SIACLookSL
{
public class VisualSIACMail : SIACMail
{
private SIACMail emailSIAC;
public SIACMail EmailSIAC
{
get { return emailSIAC; }
set { emailSIAC = value; }
}
public VisualSIACMail(SIACMail mail)
{
this.Cc = mail.Cc;
this.Content = mail.Content;
this.From = mail.From;
this.HtmlBody = mail.HtmlBody;
this.IsEncrypted = mail.IsEncrypted;
this.IsSigned = mail.IsSigned;
this.MailIndex = mail.MailIndex;
this.Priority = mail.Priority;
this.ReceivedDate = mail.ReceivedDate;
this.ReplyTo = mail.ReplyTo;
this.SentDate = mail.SentDate;
this.Subject = mail.Subject;
this.Tag = mail.Tag;
this.TextBody = mail.TextBody;
this.To = mail.To;
emailSIAC = mail;
}
public VisualSIACMail()
{
}
public String icon { get; set; }
public SIAC.Enlaces.SIACNegocio.SIACMail ToNegocio()
{
SIAC.Enlaces.SIACNegocio.
SIACMail obMail = new SIAC.Enlaces.SIACNegocio.SIACMail();
SIAC.Enlaces.SIACNegocio.
SIACMailAddress adress = new SIAC.Enlaces.SIACNegocio.SIACMailAddress();
if (this.Cc != null)
{
obMail.Cc =
new System.Collections.ObjectModel.ObservableCollection<SIAC.Enlaces.SIACNegocio.SIACMailAddress>();
foreach (SIACMailAddress item in this.Cc)
{
adress.Additional = item.Additional;
adress.Address = item.Address;
adress.Name = item.Name;
obMail.Cc.Add(adress);
}
}
obMail.Content =
this.Content;
if (this.From != null)
{
obMail.From =
new SIAC.Enlaces.SIACNegocio.SIACMailAddress();
obMail.From.Additional =
this.From.Additional;
obMail.From.Address =
this.From.Address;
obMail.From.Name =
this.From.Name;
}
obMail.HtmlBody =
this.HtmlBody;
obMail.IsEncrypted =
this.IsEncrypted;
obMail.IsSigned =
this.IsSigned;
obMail.MailIndex =
this.MailIndex;
//this.Priority
switch (this.Priority)
{
case SIACMailPriority.Normal:
obMail.Priority = SIAC.Enlaces.SIACNegocio.
SIACMailPriority.Normal;
break;
case SIACMailPriority.High:
obMail.Priority = SIAC.Enlaces.SIACNegocio.
SIACMailPriority.High;
break;
case SIACMailPriority.Low:
obMail.Priority = SIAC.Enlaces.SIACNegocio.
SIACMailPriority.Low;
break;
default:
break;
}
obMail.ReceivedDate =
this.ReceivedDate;
if (this.ReplyTo != null)
{
obMail.ReplyTo =
new SIAC.Enlaces.SIACNegocio.SIACMailAddress();
obMail.ReplyTo.Additional =
this.ReplyTo.Additional;
obMail.ReplyTo.Address =
this.ReplyTo.Address;
obMail.ReplyTo.Name =
this.ReplyTo.Name;
}
obMail.SentDate =
this.SentDate;
obMail.Subject =
this.Subject;
obMail.Tag =
this.Tag;
obMail.TextBody =
this.TextBody;
if (this.To != null)
{
obMail.To =
new System.Collections.ObjectModel.ObservableCollection<SIAC.Enlaces.SIACNegocio.SIACMailAddress>();
foreach (SIACMailAddress item in this.To)
{
adress.Additional = item.Additional;
adress.Address = item.Address;
adress.Name = item.Name;
obMail.To.Add(adress);
}
}
return obMail;
}
}
Thanx in advance.