#define scrolling //#define newgrid using System; using System.Linq.Expressions; using System.Windows; using InABox.Core; namespace InABox.DynamicGrid { public interface IDynamicGrid { FluentList Options { get; } Thickness Margin { get; set; } DynamicGridColumns MasterColumns { get; } DynamicGridColumns VisibleColumns { get; } CoreTable Data { get; set; } CoreRow[] SelectedRows { get; set; } double RowHeight { get; set; } double HeaderHeight { get; set; } double FontSize { get; set; } void Refresh(bool columns, bool data); bool EditItems(object[] items, Func? PageDataHandler = null, bool PreloadPages = false); bool DirectEdit(CoreTable data); event OnFilterRecord OnFilterRecord; event OnCreateItem OnCreateItem; void AddVisualFilter(string column, string value); event OnDefineFilter OnDefineFilter; event OnPrintData OnPrintData; event OnCustomiseColumns OnCustomiseColumns; event OnAfterReloadEventHandler OnAfterReload; int DesiredWidth(); void ConfigureColumns(DynamicGridColumns columns /*, bool dolookups */); void AddHiddenColumn(string column); void UpdateRow(CoreRow row, string column, TType value, bool refresh = true); void UpdateRow(CoreRow row, Expression> column, TType value, bool refresh = true); } }