public override void Display(DisplayElement dElement)
{
var itemElement = dElement.Element as Item;
if (itemElement == null)
{
if (dElement.Element is ID)
{
itemElement = Sitecore.Context.ContentDatabase.GetItem((ID)dElement.Element);
}
else if (dElement.Element is WorkflowEventCustom)
{
itemElement = ((WorkflowEventCustom)dElement.Element).Item;
}
else if (dElement.Element is AuditItem)
{
itemElement = Database.GetItem(((AuditItem)dElement.Element).ItemUri);
}
}
if (itemElement == null)
{
return;
}
dElement.Value = itemElement.Uri.ToString();
dElement.Header = itemElement.Name;
foreach (var column in Columns)
{
if (!dElement.HasColumn(column.Header))
{
var text = getColumnText(column.Name, itemElement);
dElement.AddColumn(column.Header, string.IsNullOrEmpty(text) ? itemElement[column.Name] : text);
}
}
dElement.Icon = itemElement.Appearance.Icon;
}