EPR类企业管理系统

在我们现有系统基础上或全新开发,提供定制服务
为您的企业高效快速实施ERP,WMS,MES,CRM管理系统
全面管控物料仓库、销售业务、采购业务、仓库业务
生产过程、质量检验、组织架构、业务报表


定制
QQ:460-3528

开发
QQ群:3360-90194

源码
微信:136-3650-3721

如何:使用自定义视图项将按钮添加到详细视图

本文介绍如何将自定义控件添加到详细信息视图。当您需要将自定义控件放置在详细视图中的特定编辑器附近时,请使用此方法。在使用它之前,请确保“操作容器视图项”和“控制详细信息”方法适用于您的任务。

提示

DevExpress代码示例数据库(http://www.devexpress.com/example=T137443)中提供了完整的示例项目。

视图项是ViewItem类的后代。或者,您可以从XAF内置的任何View项目中继承。有关查看项目的其他信息,请参阅查看项目和如何:实现查看项目主题。

本主题包含以下部分:

创建特定于WinForms的查看项

在WinForms Module项目中,创建ButtonDetailViewItemWin View Item并用ViewItemAttribute装饰它,以使该View Item出现在应用程序模型ViewItems节点中。

using System;
using System.Windows.Forms;
using DevExpress.ExpressApp.Editors;
using DevExpress.ExpressApp.Model;
using DevExpress.ExpressApp;
// ...
public interface IModelButtonDetailViewItemWin : IModelViewItem { }

[ViewItemAttribute(typeof(IModelButtonDetailViewItemWin))]
public class ButtonDetailViewItemWin : ViewItem {
    public ButtonDetailViewItemWin(IModelViewItem model, Type objectType)
        : base(objectType, model.Id) {
    }
    protected override object CreateControlCore() {
        Button button = new Button();
        button.Text = "Click me!";
        button.Click  = button_Click;
        return button;
    }
    void button_Click(object sender, EventArgs e) {
        throw new UserFriendlyException("Action from custom view item was executed!");
    }
}

创建特定于ASP.NET的查看项

在ASP.NET模块项目中,创建ButtonDetailViewItemWeb视图项,并用ViewItemAttribute装饰它,以使该视图项出现在应用程序模型的 ViewItems节点中。

using System;
using DevExpress.ExpressApp.Editors;
using DevExpress.ExpressApp.Model;
using DevExpress.ExpressApp.Web;
using DevExpress.Web.ASPxEditors;
// ...
public interface IModelButtonDetailViewItemWeb : IModelViewItem { }

[ViewItemAttribute(typeof(IModelButtonDetailViewItemWeb))]
public class ButtonDetailViewItemWeb : ViewItem {
    public ButtonDetailViewItemWeb(IModelViewItem model, Type objectType)
        : base(objectType, model.Id) {
    }
    protected override object CreateControlCore() {
        ASPxButton button = new ASPxButton();
        button.Text = "Click me!";
        button.EnableClientSideAPI = true;
        button.Click  = button_Click;
        return button;
    }
    void button_Click(object sender, EventArgs e) {
        WebWindow.CurrentRequestWindow.RegisterClientScript("ShowAlert", 
@"alert('Action from custom view item was executed!');");
    }
}

在详细视图上添加新的视图项

应用程序模型中提供了有关新实施的视图项的元数据。您可以按照如何:创建自定义控件明细主题中的描述将“查看项”添加到所需的明细视图中。

HT_Add_Button3_1

在详细视图上显示视图项

如“查看项布局自定义”主题中所述,在详细视图上显示按钮或任何其他查看项。

AddButtonViewItemToDetailView

相关文章

转载保留此链接,注明出处