Class VennSetQueryableItemColumnsController
Inheritance
Implements
Inherited Members
Namespace: LemonEdge.Client.Core.Views.Controllers
Assembly: LemonEdge.ClientEntities.dll
Syntax
public class VennSetQueryableItemColumnsController : BaseGridRelatedCollectionController<IVennSetQueryableItem, ISQLTypeWrapper>, IBaseGridController, ICollectionExportable, INewGridItemImplementor<ISQLTypeWrapper>, ICopyGridItemImplementor<ISQLTypeWrapper>, IGrid, IDeleteGridItemImplementor<ISQLTypeWrapper>, ISearchController, IModelViewController
Constructors
VennSetQueryableItemColumnsController(IBaseGridRelatedCollection<IVennSetQueryableItem, ISQLTypeWrapper>, IQueryableTypeFactory)
Declaration
public VennSetQueryableItemColumnsController(IBaseGridRelatedCollection<IVennSetQueryableItem, ISQLTypeWrapper> view, IQueryableTypeFactory queryableTypeFactory)
Parameters
Type | Name | Description |
---|---|---|
IBaseGridRelatedCollection<IVennSetQueryableItem, ISQLTypeWrapper> | view | |
IQueryableTypeFactory | queryableTypeFactory |
Properties
AllowCopyCommand
Indicates that by default selected entities can be copied by the user with the copy command
Declaration
public override bool AllowCopyCommand { get; }
Property Value
Type | Description |
---|---|
bool |
Overrides
AllowNewCommand
Indicates that by default entities can be created by the user with the new command
Declaration
public override bool AllowNewCommand { get; }
Property Value
Type | Description |
---|---|
bool |
Overrides
AllowOpenCommand
Indicates that by default selected entities can be opened by the user with the open command
Declaration
public override bool AllowOpenCommand { get; }
Property Value
Type | Description |
---|---|
bool |
Overrides
AutoOpenNewItemInTab
Indicates when creating a new item in the grid that it should automatically be opened in a new tab as well
The default is true if the type ISQLTypeWrapper is an entity that is not a IsStandingDataEntity
Declaration
public override bool AutoOpenNewItemInTab { get; }
Property Value
Type | Description |
---|---|
bool |
Overrides
CollectionRelationshipColumnName
This is the property on the ISQLTypeWrapper entities that holds a relationship value that points to the SingleItem type
This controller will automatically use that to filter the correct entities for the grid in AlterQuery(QueryableExecuter<TCollection>)
Declaration
public override string CollectionRelationshipColumnName { get; }
Property Value
Type | Description |
---|---|
string |
Overrides
ContextHelpURL
An optional associated url of a help file for the view this controller works with
Declaration
public override string ContextHelpURL { get; }
Property Value
Type | Description |
---|---|
string |
Overrides
DefaultSearchColumn
The name of the column to use in the default search of text in the grid
Declaration
protected override string DefaultSearchColumn { get; }
Property Value
Type | Description |
---|---|
string |
Overrides
NewItemHelper
Returns a standard NewItemDescriptor<T> for the entity type ISQLTypeWrapper
Declaration
protected override INewItemHelper<ISQLTypeWrapper> NewItemHelper { get; }
Property Value
Type | Description |
---|---|
INewItemHelper<ISQLTypeWrapper> |
Overrides
QueryableTypeFactory
Declaration
public IQueryableTypeFactory QueryableTypeFactory { get; init; }
Property Value
Type | Description |
---|---|
IQueryableTypeFactory |
Methods
AlterColumnInfo(ControlDisplayInfo)
Provides an inheriting controller the opportunity to alter the specified column before it is added to the IBaseGrid<T>
This is used in conjunction with columns defined via ColumnNames(), rather than Columns() which explicitly defines all information
The default operation provides a CustomComboItems if the column is against a property that is a link to an entity type (IsEntityLink)Declaration
protected override void AlterColumnInfo(ControlDisplayInfo info)
Parameters
Type | Name | Description |
---|---|---|
ControlDisplayInfo | info | The definition of the column that can be updated before being created in the IBaseGrid<T> |
Overrides
AlterLoadedItems(IEnumerable<ISQLTypeWrapper>)
Provides a mechanism for an inhetiring class to alter all the loaded items before they are sent to the GridView to be displayed
Declaration
protected override Task<IEnumerable<ISQLTypeWrapper>> AlterLoadedItems(IEnumerable<ISQLTypeWrapper> items)
Parameters
Type | Name | Description |
---|---|---|
IEnumerable<ISQLTypeWrapper> | items | The items loaded for display into the GridView |
Returns
Type | Description |
---|---|
Task<IEnumerable<ISQLTypeWrapper>> |
Overrides
AlterQuery(QueryableExecuter<ISQLTypeWrapper>)
Additionally alters the base query alteration by ensuring all entities returned are related to the SingleItem by having their CollectionRelationshipColumnName have the same value as the SingleItem ID
This is achieved via AddRelationshipJoin(QueryableExecuter<TCollection>) which can be overidden to customise how the entities of type ISQLTypeWrapper are precisely related to the SingleItem if not directly through that join
Declaration
protected override QueryableExecuter<ISQLTypeWrapper> AlterQuery(QueryableExecuter<ISQLTypeWrapper> query)
Parameters
Type | Name | Description |
---|---|---|
QueryableExecuter<ISQLTypeWrapper> | query | The existing query to return all the results that will populate the grid |
Returns
Type | Description |
---|---|
QueryableExecuter<ISQLTypeWrapper> | An altered query that also ensures all entities returned are related to the SingleItem by having their CollectionRelationshipColumnName have the same value as the SingleItem ID |
Overrides
ColumnNames()
A list of all the columns to be dynamically created in the IBaseGrid<T>
This is used by the system to create the actual ControlDisplayInfo classes required from the Columns() property
You can override this to provide a simple definition of each column (combined with AlterControlInfo(ControlDisplayInfo) for more detail), or you can just override Columns() and ignore thisDeclaration
protected override IEnumerable<ControlDisplayInfoLight> ColumnNames()
Returns
Type | Description |
---|---|
IEnumerable<ControlDisplayInfoLight> | A list of all the columns to be dynamically created in the IBaseGrid<T> |
Overrides
DisplayUI()
Initializes the grid, and creates every ControlDisplayInfo in the defined Columns() and creates them on the grid
Then loads the data for the grid accounting for all view sorting, filtering, searching and paging, and loads the results into the grid as an observable collection
Declaration
public override Task DisplayUI()
Returns
Type | Description |
---|---|
Task | A task indicating the completion of the operation |
Overrides
GetGridSourceItems()
Executes the query (GetCurrentQuery()) for the entities required in this grid, sets the total count (as it is different due to paging), and returns the results
Declaration
public override Task<IEnumerable<ISQLTypeWrapper>> GetGridSourceItems()
Returns
Type | Description |
---|---|
Task<IEnumerable<ISQLTypeWrapper>> | The result of executing the GetCurrentQuery() to return all the entities that should be displayed in this grid |
Overrides
GetGridSourceItems(IEnumerable<ISQLTypeWrapper>, QueryableExecuterApplyType)
Returns the currentItems
with the AlterQuery(QueryableExecuter<T>) filtering
applied to the results
Declaration
public override IEnumerable<ISQLTypeWrapper> GetGridSourceItems(IEnumerable<ISQLTypeWrapper> currentItems, QueryableExecuterApplyType typeToApply = QueryableExecuterApplyType.All)
Parameters
Type | Name | Description |
---|---|---|
IEnumerable<ISQLTypeWrapper> | currentItems | The current items to be displayed in the grid |
QueryableExecuterApplyType | typeToApply |
Returns
Type | Description |
---|---|
IEnumerable<ISQLTypeWrapper> | The |
Overrides
GetSQLTypeWrapperParamComboItems(SQLTypeWrapper)
Declaration
public KeyValuePair<string, string>[] GetSQLTypeWrapperParamComboItems(SQLTypeWrapper item)
Parameters
Type | Name | Description |
---|---|---|
SQLTypeWrapper | item |
Returns
Type | Description |
---|---|
KeyValuePair<string, string>[] |
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>)
Adds the following commands, if the associated AllowXXXCommand property returns true: A public toggle, multi-select row, open, column visiblitiy, transfer visible, search, view cancelled, view system, export, new, copy, move up/down, xml export, and delete commands
Declaration
protected override void InitCommands(IList<ViewCommand> commands)
Parameters
Type | Name | Description |
---|---|---|
IList<ViewCommand> | commands | The initial set of commands for this view |
Overrides
RemoveItems(IEnumerable<ISQLTypeWrapper>)
Removes the specified set of items from the grid and if the items in the grid have a property marked as SequenceStart then it will decrement the ones above these deleted items to reflect their change in order
Declaration
public override Task RemoveItems(IEnumerable<ISQLTypeWrapper> items)
Parameters
Type | Name | Description |
---|---|---|
IEnumerable<ISQLTypeWrapper> | items | The items to be removed from the CurrentItems |
Returns
Type | Description |
---|---|
Task | A task indicating the completion of the operation |
Overrides
UpdateNewItem(ISQLTypeWrapper)
Updates any new item created in this grid to also have the CollectionRelationshipColumnName property hold the value of the SingleItem ID
Declaration
protected override Task UpdateNewItem(ISQLTypeWrapper newItem)
Parameters
Type | Name | Description |
---|---|---|
ISQLTypeWrapper | newItem |
Returns
Type | Description |
---|---|
Task | A task indicating the completion of the operation |