private void GridCtrlOnScroll(object sender, ScrollEventArgs scrollEventArgs) { if (scrollEventArgs.ScrollOrientation != ScrollOrientation.VerticalScroll || !Switchboard.Instance.Settings.Documents.ParallelScrollingEnabled) { return; } if (!(sender is FastDataListView sentBy)) { return; } if (_currentMasterScroller == null) { _currentMasterScroller = sentBy; } _paralellScroller.Values.ToList().ForEach(p => { if (p == _currentMasterScroller) { return; } if (sentBy.TopItemIndex != p.TopItemIndex) { p.TopItemIndex = sentBy.TopItemIndex; } }); }
private void GridOnMouseMove(object sender, MouseEventArgs mouseEventArgs) { if (!(sender is FastDataListView sentBy)) { return; } _currentMasterScroller = sentBy; }
private GridHelper <EventLogEntryShort> CreateGrid(FastDataListView grid, string name) { var gridHelper = new GridHelper <EventLogEntryShort>(grid, () => LoadStaticData(name), DisposalHelper); gridHelper.UseAlternatingBackColor = true; gridHelper.Columns.CreateColumn("Level", x => x?.Level); gridHelper.Columns.CreateColumn("Date and time", x => x?.Logged, x => x?.ToString("yyyy-MM-dd HH:mm:ss")); gridHelper.Columns.CreateColumn("Source", x => x?.Source); gridHelper.Columns.CreateColumn("Event Id", x => x?.InstanceId.ToString()); gridHelper.ReloadOnce(true); return(gridHelper); }
private void ChangeLog() { ctrlOpenFiles.Visible = false; _currentMasterScroller = null; var selected = GetCurrentGrid(); if (selected == null || selected.GridAndDataWrapper.GridInvoked == false) { return; } RecalcFilterBox(selected.GridAndDataWrapper.Filter); ApplyFilter(GetCurrentGrid()); }
private GridHelper <GenericDataWrapper> CreateGrid(FastDataListView grid, string name, DataWrapper wrapper) { var headers = new Dictionary <string, ColumnHeaderWrapper <GenericDataWrapper> >(); wrapper.GridAndDataWrapper.Headers = headers; var gridHelper = new GridHelper <GenericDataWrapper>(grid, () => LoadStaticData(name), DisposalHelper); gridHelper.AutoResizeGrid = false; gridHelper.UseAlternatingBackColor = true; wrapper.GenericDataWrapperService.Headers.ForEach(p => { if (headers.ContainsKey(p.HeaderName)) // log files might have the headers called the same thing { for (var i = 1; i < 99; i++) { var header = $"{p.HeaderName} ({i})"; if (!headers.ContainsKey(header)) { p.HeaderName = header; break; } } } if (p.AspectGetter != null) { if (!p.ShowInGrid) { return; } var col = gridHelper.Columns.CreateColumn(p.HeaderName, p.AspectGetter); //x => x.String1 var headerWidth = (int)grid.Font.GetTextSize(p.HeaderName).Width + 5; var textWidth = (int)grid.Font.GetTextSize(new string('e', p.MaxCharCount)).Width; textWidth = textWidth > 400 ? 400 : textWidth; col.Width = headerWidth > textWidth ? headerWidth : textWidth; } else { var col = gridHelper.Columns.CreateColumn(p.HeaderName, x => x.DateTime1, x => x.ToString("yyyy-MM-dd HH:mm:ss")); //x => x.String1 col.Width = (int)grid.Font.GetTextSize("9999-19-99 99:99:99").Width; } headers.Add(p.HeaderName, p); }); gridHelper.ReloadOnce(true); return(gridHelper); }
public LoaderWithTimer( FastDataListView grid, Func <Task <T> > loader, Action <T> onAfterLoad, Action <Exception> onException) { _loader = loader; _onAfterLoad = onAfterLoad; _onException = onException; _timer = new Timer(async t => await Tick()); EventHandler gridOnDisposed = null; grid.Disposed += gridOnDisposed = (s, e) => { _disposed = true; _timer.Dispose(); grid.Disposed -= gridOnDisposed; }; }
protected GridHelper(FastDataListView grid) { Grid = grid; }
public ColumnHelper(GridHelper <TRow> gridHelper) { _grid = gridHelper.Grid; _gridHelper = gridHelper; }