Add a Simple Action using an Attribute
- 2 minutes to read
This lesson explains how to use methods of a business object to add a Simple Action.
The instructions below show how to add a new method with the ActionAttribute attribute to the DemoTask
class.
Note
Before you proceed, take a moment to review the following lessons:
- Set a Many-to-Many Relationship (XPO/EF core)
- Add a Simple Action
Step-by-Step Instructions
Add the
Postpone
method to theDemoTask
class:namespace MySolution.Module.BusinessObjects [DefaultClassOptions] [ModelDefault("Caption", "Task")] public class DemoTask : DevExpress.Persistent.BaseImpl.EF.Task { //... /*Use this attribute to display the Postpone button in the UI and call the Postpone() method when a user clicks this button*/ [Action(ToolTip = "Postpone the task to the next day")] //Shift the task's due date forward by one day public void Postpone() { if(DueDate == DateTime.MinValue) { DueDate = DateTime.Now; } DueDate = DueDate + TimeSpan.FromDays(1); } }
Tip
You can use the
Action
attribute to implement an action that asks a user to specify parameters in a popup dialog (for example, the number of days to postpone a Task). Refer to the following topic for an example: How to: Create an Action Using the Action Attribute.Display the Due Date column in the Task List View. Open the MySolution.Module | ModelDesignedDiffs.xafml file. In the Model Editor, do the following:
- Go to Views | MySolution.Module.BusinessObjects | DemoTask | DemoTask_ListView | Columns.
- Right-click the grid header and click the Column Chooser item.
Drag the Due Date column to the View and save the ModelDesignedDiffs.xafml file.
Run the application. Select the Task item in the navigation control.
Select one or more tasks in the Task List View. The Postpone Action button appears. Click this button. The due date of the selected tasks shifts forward by one day.