/// <summary> /// Handles invocation of CompareElementsEvent events /// </summary> internal bool DoCompareElementsEvent(GridPanel panel, GridElement a, GridElement b, ref int result) { if (CompareElements != null) { GridCompareElementsEventArgs ev = new GridCompareElementsEventArgs(panel, a, b); CompareElements(this, ev); result = ev.Result; return (ev.Cancel); } return (false); }
private void uiWeeklyDataTable_CompareElements(object sender, GridCompareElementsEventArgs e) { var a = e.ElementA as GridCell; var b = e.ElementB as GridCell; if (a != null && b != null && (a.Value is string && (a.ColumnIndex == 1 || a.ColumnIndex == 2 || a.ColumnIndex == 3))) { e.Cancel = true; var aValue = DateTime.ParseExact(a.Value.ToString(), DateFormatsManager.CurrentShortDateFormat + " HH:mm:ss", CultureInfo.InvariantCulture); var bValue = DateTime.ParseExact(b.Value.ToString(), DateFormatsManager.CurrentShortDateFormat + " HH:mm:ss", CultureInfo.InvariantCulture); if (aValue > bValue) e.Result = 1; else if (aValue < bValue) { e.Result = -1; } else e.Result = 0; } }