Class BaseGridController
The base non-type generic version of BaseGridControllerAny<T>/BaseGridController<T> which works with the IBaseGrid<T> view
This is the main base controller for creating grids, and dynamically creating their columns, for any object in the system
Both this controller and the BaseDefaultSingleViewController<T> view have a similar mechanism for creating controls dynamically within the UIInherited Members
Namespace: LemonEdge.Client.Core.Views.Core
Assembly: LemonEdge.ClientCore.dll
Syntax
public abstract class BaseGridController : ModelViewController, IBaseGridController, IGrid, IModelViewController, ICollectionExportable
Constructors
BaseGridController(IModelView)
Creates a new default grid view controller with the specified instance of a default grid view
Declaration
protected BaseGridController(IModelView view)
Parameters
Type | Name | Description |
---|---|---|
IModelView | view | The instance of the default grid view in the client application |
Properties
BaseGridView
The IBaseGrid view instance this controller works with
Declaration
public IBaseGrid BaseGridView { get; }
Property Value
Type | Description |
---|---|
IBaseGrid |
BulkUpdateMultipleSelectedItemsOnEdit
Indicates whether or not the system should apply any changes made to all other selected items in the grid.
The system uses this to turn off the feature while updating, but can also be used to override the behaviour when needed
Declaration
public bool BulkUpdateMultipleSelectedItemsOnEdit { get; set; }
Property Value
Type | Description |
---|---|
bool |
CollectionType
Returns the type of object displayed in the grid
Declaration
public abstract Type CollectionType { get; }
Property Value
Type | Description |
---|---|
Type |
ColumnFilters
Provides a list of the current groupings applied to the grid in the view by the user
Declaration
public IEnumerable<QueryableFilter> ColumnFilters { get; }
Property Value
Type | Description |
---|---|
IEnumerable<QueryableFilter> |
ColumnSortings
Provides a list of the current sortings applied to the grid in the view by the user
Declaration
public IEnumerable<QueryableSort> ColumnSortings { get; }
Property Value
Type | Description |
---|---|
IEnumerable<QueryableSort> |
ComboItemsClear
Provides a header to add to drop down combo columns so users can clear the value.
By default this is blank as client applications can implement it on right-click or other behaviour.
Somme applications do not allow that, so naming this Clear, or other value, will mean it is available for users to select at the top of the list to clear the valueDeclaration
public static string ComboItemsClear { get; set; }
Property Value
Type | Description |
---|---|
string |
Created
Indicates the grid has been created within the BaseGridView
Declaration
public bool Created { get; }
Property Value
Type | Description |
---|---|
bool |
CurrentGridItems
An enumeration of all the records currently displayed in the BaseGridView
Declaration
public abstract IEnumerable CurrentGridItems { get; }
Property Value
Type | Description |
---|---|
IEnumerable |
CurrentPageIndex
The current page index of the results in the grid if PagerRequired is true
This is a 0 bound index, so the first page has an index of 0
Declaration
public int CurrentPageIndex { get; }
Property Value
Type | Description |
---|---|
int |
CustomCommandParam
Declaration
protected virtual string CustomCommandParam { get; }
Property Value
Type | Description |
---|---|
string |
DefaultColumnGroupIndexes
Groupings for columns to be grouped by and items have aggregation summaries of
Declaration
public virtual IEnumerable<int> DefaultColumnGroupIndexes { get; }
Property Value
Type | Description |
---|---|
IEnumerable<int> |
DefaultFrozenColumnCount
The default number of columns to be included in the frozen column count. The default is 1
Declaration
public virtual int DefaultFrozenColumnCount { get; }
Property Value
Type | Description |
---|---|
int |
DefaultSearchColumn
The name of the column to use in the default search of text in the grid
Declaration
protected virtual string DefaultSearchColumn { get; }
Property Value
Type | Description |
---|---|
string |
ExpandDefaultGroups
Indicates groups should be expanded by default - false by default
Declaration
public virtual bool ExpandDefaultGroups { get; }
Property Value
Type | Description |
---|---|
bool |
InternalFilter
Provides the internal filter applied to the grid
Declaration
public QueryableFilter InternalFilter { get; set; }
Property Value
Type | Description |
---|---|
QueryableFilter |
IsSelected
Indicates whether checkbox is checked or not in grid.
Declaration
public bool IsSelected { get; set; }
Property Value
Type | Description |
---|---|
bool |
LoadOrOverridenPager
Declaration
public bool LoadOrOverridenPager { get; }
Property Value
Type | Description |
---|---|
bool |
LoadPager
Indicates if a pager should be used at all - default true. If not then all results will always be loaded
Declaration
public virtual bool LoadPager { get; }
Property Value
Type | Description |
---|---|
bool |
OnlyExportFromQuery
Indicates when performing a stadard data export that the data should only be exported by re-running a query to fetch the results again
The default is false
Declaration
public virtual bool OnlyExportFromQuery { get; }
Property Value
Type | Description |
---|---|
bool |
OnlyExportGrid
Indicates when performing a stadard data export that the data should only be exported from the grid itself, and not re-run any query
The default is false
Declaration
public virtual bool OnlyExportGrid { get; }
Property Value
Type | Description |
---|---|
bool |
PagerRequired
Indicates if the BaseGridView needs to display a pager control as the number of results exceed the maximum the grid shows in one go
Declaration
public abstract bool PagerRequired { get; }
Property Value
Type | Description |
---|---|
bool |
Search
The search term to be included in any query filtering the results for this grid
Declaration
public string Search { get; }
Property Value
Type | Description |
---|---|
string |
SearchColumns
The list of all columns to be searched by default when doing a default text search of everything
Declaration
public IEnumerable<string> SearchColumns { get; }
Property Value
Type | Description |
---|---|
IEnumerable<string> |
TogglerZeroColumn
Provides the toggler for switching between only showing columns with non-zero values or all
Declaration
public abstract IHasToggleStatus TogglerZeroColumn { get; }
Property Value
Type | Description |
---|---|
IHasToggleStatus |
UserOverridenPagingVisible
Declaration
public bool? UserOverridenPagingVisible { get; set; }
Property Value
Type | Description |
---|---|
bool? |
Methods
AddCustomCommand(ICustomCommand)
Declaration
protected virtual bool AddCustomCommand(ICustomCommand cmd)
Parameters
Type | Name | Description |
---|---|---|
ICustomCommand | cmd |
Returns
Type | Description |
---|---|
bool |
AllPossibleSearchColumns()
Returns an enumeration of all column definitions that could be included in a default text search of the data in the grid
Declaration
public IEnumerable<string> AllPossibleSearchColumns()
Returns
Type | Description |
---|---|
IEnumerable<string> | An enumeration of all column definitions that could be included in a default text search of the data in the grid |
ClearSearchSortFilter()
Clears the search, sorting and filtering.
Declaration
public virtual Task ClearSearchSortFilter()
Returns
Type | Description |
---|---|
Task |
ColumnGroups()
Header groupings that columns belong to. Can be hierarchical
Declaration
public virtual IEnumerable<GridColumnGroup> ColumnGroups()
Returns
Type | Description |
---|---|
IEnumerable<GridColumnGroup> |
Columns()
A list of all the columns to be dynamically created in the IBaseGrid
Can be overridden by the inheriting class to indicate the columns required.
Declaration
public virtual IEnumerable<ControlDisplayInfo> Columns()
Returns
Type | Description |
---|---|
IEnumerable<ControlDisplayInfo> | A list of all the controls to be dynamically created in the BaseGridView |
GetExportableColumnInfo(IEnumerable<ColumnDescriptor>)
Returns an enumeration of all the columns that can be exported from this grid in a standard data export (including which columns are currently visible or not)
Declaration
public abstract Task<IEnumerable<ControlDisplayVisibilityInfo>> GetExportableColumnInfo(IEnumerable<ColumnDescriptor> visibleColumns)
Parameters
Type | Name | Description |
---|---|---|
IEnumerable<ColumnDescriptor> | visibleColumns | The list of currently visible columns in the BaseGridView |
Returns
Type | Description |
---|---|
Task<IEnumerable<ControlDisplayVisibilityInfo>> | An enumeration of all the columns that can be exported from this grid in a standard data export (including which columns are currently visible or not) |
GetQueryForExcelResults()
Returns the query to use for retrieving the data in this grid for a standard data export
Declaration
public virtual QueryableExecuter GetQueryForExcelResults()
Returns
Type | Description |
---|---|
QueryableExecuter | The query to use for retrieving the data in this grid for a standard data export |
GetVisibleColumnNames()
Returns the currently visible columns in the BaseGridView
Declaration
public Task<IEnumerable<ControlDisplayInfo>> GetVisibleColumnNames()
Returns
Type | Description |
---|---|
Task<IEnumerable<ControlDisplayInfo>> | The currently visible columns in the BaseGridView |
InitAsync()
Provides the controller a chance to initialize any dependant data. Called once by the system after controller creation.
Declaration
public override Task InitAsync()
Returns
Type | Description |
---|---|
Task | A task indicating the completion of the operation |
Overrides
InitCommands(IList<ViewCommand>)
Provides the inheriting class an opportunity to add custom commands to this controller
Declaration
protected override void InitCommands(IList<ViewCommand> commands)
Parameters
Type | Name | Description |
---|---|---|
IList<ViewCommand> | commands | The current set of commands for this controller |
Overrides
MoveItemSequence(object, object)
Declaration
public abstract void MoveItemSequence(object fromItem, object toItem)
Parameters
Type | Name | Description |
---|---|---|
object | fromItem | |
object | toItem |
ProcessCustomCommandResult(object)
Declaration
protected virtual Task ProcessCustomCommandResult(object result)
Parameters
Type | Name | Description |
---|---|---|
object | result |
Returns
Type | Description |
---|---|
Task |
SetCreated(bool)
Sets the grid as having been created
Declaration
protected void SetCreated(bool created)
Parameters
Type | Name | Description |
---|---|---|
bool | created | Indicates if the grid has been created in the client ui yet |
SetFilters(IEnumerable<QueryableFilter>)
Sets the ColumnFilters to the specified list of columns
Declaration
public void SetFilters(IEnumerable<QueryableFilter> filters)
Parameters
Type | Name | Description |
---|---|---|
IEnumerable<QueryableFilter> | filters | The columns to be filtered and by how |
SetOrdering(IEnumerable<QueryableSort>)
Sets the ColumnSortings to the specified list of columns
Declaration
public void SetOrdering(IEnumerable<QueryableSort> orders)
Parameters
Type | Name | Description |
---|---|---|
IEnumerable<QueryableSort> | orders | The columns to be sorted and in which direction |
SetSearch(string, IEnumerable<string>)
Sets the Search term to be used, and for which columns, when querying the results of the grid
Declaration
public void SetSearch(string search, IEnumerable<string> columns)
Parameters
Type | Name | Description |
---|---|---|
string | search | The term to search for across the grid data |
IEnumerable<string> | columns | The columns included in the search |
ToggleZeroColumns()
Toggles between only showing columns with non-zero values or all
Declaration
public abstract void ToggleZeroColumns()