12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970 |
- #define scrolling
- //#define newgrid
- using System;
- using System.Linq.Expressions;
- using System.Windows;
- using System.Windows.Controls;
- using System.Windows.Media.Imaging;
- using InABox.Core;
- namespace InABox.DynamicGrid
- {
- public enum DynamicGridButtonPosition
- {
- Left,
- Right
- }
-
-
- public interface IDynamicGrid
- {
- FluentList<DynamicGridOption> 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);
- void InitialiseEditorForm(IDynamicEditorForm editor, object[] items, Func<Type, CoreTable>? pageDataHandler = null, bool preloadPages = false);
- bool EditItems(object[] items, Func<Type, CoreTable>? PageDataHandler = null, bool PreloadPages = false);
- //bool DirectEdit(CoreTable data);
- event OnFilterRecord OnFilterRecord;
- event OnCreateItem OnCreateItem;
- event OnDoubleClick? OnDoubleClick;
- void AddVisualFilter(string column, string value);
- Button AddButton(string caption, BitmapImage? image, string? tooltip, Func<Button, CoreRow[], bool> action, DynamicGridButtonPosition position = DynamicGridButtonPosition.Left);
- 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<TType>(CoreRow row, string column, TType value, bool refresh = true);
- void UpdateRow<T, TType>(CoreRow row, Expression<Func<T, TType>> column, TType value, bool refresh = true);
- }
- }
|