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();
}
}
  • 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应用程序。在导航控件中选择"任务"项。使用列选择器显示到期日期列。要激活列选择器,请右键单击"任务列表视图"标头。列选择器允许最终用户在运行时通过将列标题拖动到表标题或从表标题中显示或隐藏列。

  • 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.
  • 在"任务列表"视图中选择一个或多个"任务"对象。查找"推迟"工具栏按钮,该按钮表示您在上面实现的"推迟操作"。单击此按钮。将修改"到期日期"列中显示的选定对象的"过期日期"属性。

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/

.

Add a Simple Action using an Attribute 使用特性添加简单按钮的更多相关文章

  1. Add a Simple Action添加简单按钮

    In this lesson, you will learn how to create a Simple Action. For this purpose, a new View Controlle ...

  2. Add a Parametrized Action 添加带参数的按钮

    In this lesson, you will learn how to add a Parametrized Action. These types of Actions are slightly ...

  3. How do I add a simple onClick event handler to a canvas element?

    How do I add a simple onClick event handler to a canvas element? When you draw to a canvas element, ...

  4. asp.net core的授权过滤器中获取action上的Attribute

    var action = context.ActionDescriptor as ControllerActionDescriptor; var permission = action.MethodI ...

  5. [LeetCode] Add Bold Tag in String 字符串中增添加粗标签

    Given a string s and a list of strings dict, you need to add a closed pair of bold tag <b> and ...

  6. Android中使用Intent的Action和Data属性实现点击按钮跳转到拨打电话和发送短信

    场景 点击拨打电话按钮,跳转到拨打电话页面 点击发送短信按钮,跳转到发送短信页面 注: 博客: https://blog.csdn.net/badao_liumang_qizhi 关注公众号 霸道的程 ...

  7. Android UI ActionBar功能-Action Bar 左上角的向上或返回按钮

    ActionBar在左上角还提供了一个向上或返回的按钮,默认情况下是隐藏的需要在代码中开启: 官方文档:http://wear.techbrood.com/training/basics/action ...

  8. Simple But Useful Samples About 'grep' Command(简单实用的grep 命令)

    Do the following: grep -rnw '/path/to/somewhere/' -e "pattern" -r or -R is recursive, -n i ...

  9. MyEclispe点击add deploment 无反应的处理,无法添加项目到Tomcat

    比如你的工作空间为 E:\workspace-project 找到以下路径: E:\workspace-project\.metadata\.plugins\org.eclipse.core.runt ...

随机推荐

  1. Elasticsearch 监控指标解析

    1.集群监控 集群监控主要包括两个方面的内容,分别是集群健康情况和集群的运行状态. 集群健康状态可以通过以下api获取: http://ip:9200/_cluster/health?pretty 关 ...

  2. 955 不加班的公司名单:955.WLB

    前两天说到,韩老师的 Github 总 star 数量超过了 20000!全球排名第 232! 他,TypeScript GitHub Star 上海第一,全国第四!GitHub 总标星超两万! 其实 ...

  3. python网络编程socketserver模块(实现TCP客户端/服务器)

    摘录python核心编程 socketserver(python3.x版本重新命名)是标准库中的网络编程的高级模块.通过将创建网络客户端和服务器所必须的代码封装起来,简化了模板,为你提供了各种各样的类 ...

  4. 初级模拟电路:4-3 BJT晶体管的交流建模

    回到目录 1. 四种BJT模型概述 对BJT晶体管建模的基本思路就是,用电路原理中的五大基本元件(电阻.电容.电感.电源.受控源)构建一个电路,使其在一定工作条件下能等效非线性半导体器件的实际工作.一 ...

  5. Linux 使用vi命令的教程

    一.首先用vi命令打卡要编辑的文件: 注意:vi命令的使用如下: 打开或新建文件,并将光标至于第一行首:[root@centos6 /]# vi /etc/my.cnf 打开文件,并将光标移至最后一行 ...

  6. 视频分享慕课网----Angular 打造企业级协作平台

    慕课网是一个非常不错的视频学习网站,搭建搭建企业协作平台,导师由深到浅,讲解的特别好. 本课程主要学习 Angular 进阶知识点和技巧(Material.动画.依赖注入.表单控件.RxJS,Redu ...

  7. .NET Core 3.0 Preview 6中对ASP.NET Core和Blazor的更新

    我们都知道在6月12日的时候微软发布了.NET Core 3.0的第6个预览版.针对.NET Core 3.0的发布我们国内的微软MVP-汪宇杰还发布的官翻版的博文进行了详细的介绍.具体的可以关注&q ...

  8. jQuery基础之获取和设置标签元素属性

    jQuery基础之获取和设置标签元素属性方法,如下图: 代码实现: <script src="JS/jquery-1.12.4.min.js"></script& ...

  9. MyBatis映射文件 相关操作

    一.MyBatis映射文件 1.简介 MyBatis 的真正强大在于它的映射语句,也是它的魔力所在.由于它的异常强大,映射器的 XML 文件就显得相对简单.如果拿它跟具有相同功能的 JDBC 代码进行 ...

  10. pyecharts绘制地图

    python 绘制地图 环境准备 1.1 安装必备绘画库 亲身体验,最新版的pyecharts使用不来,通过百度寻得的教学推荐版本 0.1.9.4 可以绘制完成世界地图,国家地图以及市级地图,但是不能 ...