ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Add a Simple Action using an Attribute 使用特性添加简单按钮

2019-12-12 12:02:33  阅读:219  来源: 互联网

标签:Task Simple Attribute DemoTask Add 按钮 Action Postpone DueDate


In the previous Add a Simple Action lesson, you learned how to add an Action by implementing the View Controller. There is another approach that may be more convenient when the Action is intended for a certain business class. In this lesson, you will learn how to add a Simple Action using an attribute. For this purpose, a new method will be added to the DemoTask class, and the ActionAttribute attribute will be applied to it.

在前面的"添加简单按钮"课中,您学习了如何通过实现视图控制器来添加操作。当 Action 适用于特定业务类时,还有另一种方法可能更方便。在本课中,您将学习如何使用属性添加简单操作。为此,新方法将添加到 DemoTask 类中,并将 Action属性属性应用于该方法。

 

Note 注意

Before proceeding, take a moment to review the following lessons.

在继续之前,请花点时间复习以下课程。

 

  • Set a Many-to-Many Relationship (XPO/EF)
  • Add a Simple Action
  • Add the Postpone method to the DemoTask class as shown below.

  • 设置多对多关系 (XPO/EF)

  • 添加简单操作

  • 将"推迟"方法添加到演示任务类,如下所示。

 

[DefaultClassOptions]
[ModelDefault("Caption", "Task")]
public class DemoTask : Task {
    //...
    [Action(ToolTip = "Postpone the task to the next day")]
    public void Postpone() {
        if(DueDate == DateTime.MinValue) {
            DueDate = DateTime.Now;
        }
        DueDate = DueDate + TimeSpan.FromDays(1);
    }
}

 

  • The Postpone method sets the Task.DueDate property to the next date, after the date previously specified. Since the ActionAttribute attribute is used, the Postpone button will be displayed in the UI, and the Postpone method will be called when clicking this button.
  • "延迟"方法将 Task.DueDate 属性设置到下一个日期,该日期是以前指定的日期之后。由于使用了 ActionAttribute 属性,因此"推迟"按钮将显示在 UI 中,单击此按钮时将调用"推迟"方法。

 

  • Run the WinForms or ASP.NET application. Select the Task item in the navigation control. Show the Due Date column using the Column Chooser. To activate the Column Chooser, right-click the Task List View header. The Column Chooser allows end users to show or hide columns at runtime, by dragging a column header to or from the table header.

运行 WinForms 或ASP.NET应用程序。在导航控件中选择"任务"项。使用列选择器显示到期日期列。要激活列选择器,请右键单击"任务列表视图"标头。列选择器允许最终用户在运行时通过将列标题拖动到表标题或从表标题中显示或隐藏列。

Tutorial_EF_Lesson2_3

  • Select one or more Task objects in the Task List View. Find the Postpone toolbar button, which represents the Postpone Action that you have implemented above. Click this button. The DueDate property of the selected objects displayed in the Due Date column will be modified.
  • 在"任务列表"视图中选择一个或多个"任务"对象。查找"推迟"工具栏按钮,该按钮表示您在上面实现的"推迟操作"。单击此按钮。将修改"到期日期"列中显示的选定对象的"过期日期"属性。

    Tutorial_EF_Lesson2_1

    Tutorial_EF_Lesson2_2

Tip 提示

When the browser window shrinks, some Actions become hidden and can be accessed using the "..." button (see IModelActionWeb.AdaptivePriority).

当浏览器窗口收缩时,某些操作将变为隐藏状态,可以使用"...""按钮进行访问(请参阅 IModelActionWeb.自适应优先级)。

Note 注意

You can also use the Action attribute to implement an action that asks an end user to specify parameters in a popup dialog (e.g., the number of days to postpone a Task ). Refer to the How to: Create an Action Using the Action Attribute topic to see an example.

您还可以使用 Action 属性实现一个操作,要求最终用户在弹出对话框中指定参数(例如,推迟任务的天数)。请参阅"如何:使用操作属性创建操作"主题以查看示例。

 

You can see the code demonstrated here in the MySolution.Module | Business Objects | DemoTask.cs (DemoTask.vb) file of the Main Demo installed with XAF. The MainDemo application is installed in %PUBLIC%\Documents\DevExpress Demos 19.2\Components\eXpressApp Framework\MainDemo by default. The ASP.NET version is available online at http://demos.devexpress.com/XAF/MainDemo/

您可以在 MySolution.模块 |业务对象 |DemoTask.cs (DemoTask.vb) 文件的主演示安装与 XAF.主演示应用程序安装在%PUBLIC%\Documents\DevExpress Demos 19.2\Components\eXpressApp Framework\MainDemo by default. The ASP.NET version is available online at http://demos.devexpress.com/XAF/MainDemo/

.

 

标签:Task,Simple,Attribute,DemoTask,Add,按钮,Action,Postpone,DueDate
来源: https://www.cnblogs.com/foreachlife/p/Add-a-Simple-Action-using-an-Attribute.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有