GrapeCity MultiRow Windows Forms Documentation
ActionList Class
Members  Example 


Represents a list of IActions; each action in the list is executed one by one.
Syntax
Public Class ActionList 
   Implements IAction 
Dim instance As ActionList
public class ActionList : IAction  
Remarks

The ActionList is bound to a single key to execute a list of actions.

ActionList is used to define a new Action by combining several existing actions. If one of the actions cannot be executed, the ActionList cannot be executed. When you execute an ActionList, each Action's CanExecute method is called. If it can be executed, its Execute method is performed, then it goes to the next Action. For example, you can use SelectionActions.SelectAll and EditingActions.Copy to create a "CopyAll" action list.

Example
The following code example shows how to manage GcMultiRow control shortcut key settings. The example shows how to change a key's action and how to customize your own action. This code example is part of a larger example provided for the GcMultiRow.ShortcutKeyManager property.
void Form1_Load(object sender, EventArgs e)
        {
            gcMultiRow1.Template = Template.Default;
            gcMultiRow1.RowCount = 5;

            // Register another action to an existing key. Unregister old key first.
            this.gcMultiRow1.ShortcutKeyManager.Unregister(Keys.Enter);
            // Register to new action.
            this.gcMultiRow1.ShortcutKeyManager.Register(new EditThenMoveNextAction(), Keys.Enter);

            // Register an action list. Select all first, and then, copy.
            this.gcMultiRow1.ShortcutKeyManager.Register(new ActionList(SelectionActions.SelectAll, EditingActions.Copy), Keys.Control | Keys.Shift | Keys.C);
        }

        class EditThenMoveNextAction : Action
        {
            public override bool CanExecute(GcMultiRow target)
            {
                return true;
            }

            protected override void OnExecute(GcMultiRow target)
            {
                if (target.IsCurrentCellInEditMode == false && EditingActions.BeginEdit.CanExecute(target))
                {
                    EditingActions.BeginEdit.Execute(target);
                }
                else
                {
                    SelectionActions.MoveToNextCell.Execute(target);
                }
            }
        }
Private Sub Form1_Load(ByVal sender As Object, ByVal e As EventArgs) Handles Me.Load
        gcMultiRow1.Template = Template.Default
        gcMultiRow1.RowCount = 5

        ' Register another action to an existing key. Unregister old key first.
        Me.gcMultiRow1.ShortcutKeyManager.Unregister(Keys.Enter)
        ' Register to new action.
        Me.gcMultiRow1.ShortcutKeyManager.Register(New EditThenMoveNextAction(), Keys.Enter)

        ' Register an action list. Select all first, and then, copy.
        Me.gcMultiRow1.ShortcutKeyManager.Register(New ActionList(SelectionActions.SelectAll, EditingActions.Copy), Keys.Control Or Keys.Shift Or Keys.C)
    End Sub

    Private Class EditThenMoveNextAction
        Inherits Action
        Public Overloads Overrides Function CanExecute(ByVal target As GcMultiRow) As Boolean
            Return True
        End Function

        Protected Overloads Overrides Sub OnExecute(ByVal target As GcMultiRow)
            If target.IsCurrentCellInEditMode = False AndAlso EditingActions.BeginEdit.CanExecute(target) Then
                EditingActions.BeginEdit.Execute(target)
            Else
                SelectionActions.MoveToNextCell.Execute(target)
            End If
        End Sub
    End Class
Inheritance Hierarchy

System.Object
   GrapeCity.Win.MultiRow.ActionList

Requirements

Target Platforms: Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

See Also

Reference

ActionList Members
GrapeCity.Win.MultiRow Namespace
IAction Interface
Action Class
SelectionActions Class
EditingActions Class
ComponentActions Class
ScrollActions Class
ShortcutKey Structure
ShortcutKeyManager Class

 

 


Copyright © GrapeCity, inc. All rights reserved.