/// <summary> /// Menu: Column display mode. /// </summary> private void _mnuDisplayColumnItem_Click(object sender, EventArgs e) { EListDisplayMode tag = (EListDisplayMode)((ToolStripMenuItem)sender).Tag; this._clickedColumn.DisplayMode = tag; this.Rebuild(EListInvalids.ValuesChanged); }
public static string AsString(object result, EListDisplayMode listDisplayMode) { if (result == null) { return(""); } if (result is string) { return((string)result); } if (result is IEnumerable) { ICollection col = result as ICollection; IEnumerable enu = (IEnumerable)result; int count; if (col != null) { count = col.Count; } else { count = enu.CountAll(); } switch (listDisplayMode) { case EListDisplayMode.Smart: if (count == 1) { return(AsString(enu.FirstOrDefault2())); } else if (count == 0) { return(""); } else { return("(" + count.ToString() + ")"); } case EListDisplayMode.Count: return(count.ToString()); case EListDisplayMode.CountAndContent: return("(" + count.ToString() + ") " + StringHelper.ArrayToString(enu, AsString)); case EListDisplayMode.Content: return(StringHelper.ArrayToString(enu, AsString)); } } if (result is Visualisable) { Visualisable v = (Visualisable)result; return(v.DisplayName); } if (result is double) { double d = (double)result; if (double.IsNaN(d)) { return(""); } return(Maths.SignificantDigits(d)); } if (result is int) { if ((int)result == 0) { return(""); } else { return(result.ToString()); } } if (result is bool) { if ((bool)result) { return("☑"); } else { return("☐"); } } if (result is Type) { return(((Type)result).ToUiString()); } if (result is WeakReference) { object t = ((WeakReference)result).Target; if (t == null) { return("(Expired reference)"); } return("&" + AsString(t, listDisplayMode)); } if (ReflectionHelper.IsOfGenericType(result, typeof(WeakReference <>))) { object t = WeakReferenceHelper.GetUntypedTarget(result); if (t == null) { return("(Expired reference)"); } return("&" + AsString(t, listDisplayMode)); } return(result.ToString()); }