zoukankan      html  css  js  c++  java
  • XAF 如何编辑当前选择的下拉列表项属性

    编辑当前选择的属性

    点击编辑

    实现代码如下

    代码
    // Developer Express Code Central Example:
    // How to edit the currently selected object in the Windows Forms LookupPropertyEditor
    // 
    // This example illustrates the functionality described in the K18024 KB article. A
    // separate v2010 vol 1 solution is also available.
    // 
    // You can find sample updates and versions for different programming languages here:
    // http://www.devexpress.com/example=E774

    using System;
    using DevExpress.ExpressApp;
    using DevExpress.XtraEditors.Controls;
    using DevExpress.XtraEditors.Repository;
    using System.Drawing;
    using DevExpress.Utils;
    using DevExpress.ExpressApp.Win.Editors;
    using DevExpress.ExpressApp.Model;

    namespace WinSolution.Module.Win {
        
    public class MyLookupPropertyEditor : LookupPropertyEditor {
            
    public MyLookupPropertyEditor(Type objectType, IModelMemberViewItem model) : base(objectType, model) { }
            
    protected override void SetupRepositoryItem(RepositoryItem item) {
                
    base.SetupRepositoryItem(item);
                ((RepositoryItemLookupEdit)item).Init(DisplayFormat, 
    this.Helper);
                AppearanceObject appearance 
    = new AppearanceObject();
                appearance.Font
    =new Font(FontFamily.GenericSansSerif, 10F, FontStyle.Underline);
                ((RepositoryItemLookupEdit)item).Buttons.Add(
    new EditorButton(ButtonPredefines.Glyph, "Edit"-1truetruetrue, HorzAlignment.Default, nullnew KeyShortcut(System.Windows.Forms.Keys.Enter), appearance, "Press this button to edit the object"));
                ((RepositoryItemLookupEdit)item).ButtonClick 
    += new ButtonPressedEventHandler(MyLookupPropertyEditor_ButtonClick);
            }
            
    void MyLookupPropertyEditor_ButtonClick(object sender, ButtonPressedEventArgs e) {
                
    if (!e.Button.IsDefaultButton) {
                    ObjectSpace objectSpace 
    = Helper.Application.CreateObjectSpace();
                    
    object editedObject = null;
                    
    if (BindingHelper != null) {
                        editedObject 
    = objectSpace.GetObject(BindingHelper.GetControlValue());
                    }
                    
    else if (sender is LookupEdit) {
                        editedObject 
    = objectSpace.GetObject((sender as LookupEdit).EditValue);
                    }
                    
    if (editedObject != null) {
                        ShowViewParameters svp 
    = new ShowViewParameters();
                        svp.CreatedView 
    = Helper.Application.CreateDetailView(objectSpace, editedObject, true);
                        svp.TargetWindow 
    = TargetWindow.Default;
                        svp.Context 
    = TemplateContext.View;
                        svp.CreateAllControllers 
    = true;
                        ShowViewSource svs 
    = new ShowViewSource(Helper.Application.MainWindow, null);
                        Helper.Application.ShowViewStrategy.ShowView(svp, svs);
                    }
                }
            }
        }
    }

    欢迎转载,转载请注明出处:http://www.cnblogs.com/Tonyyang/

  • 相关阅读:
    爬虫第二篇:爬虫详解之存储数据
    数据分析第六篇:机器学习分类
    数据分析第五篇:数据库多表连接操作
    数据分析第四篇:数据清洗
    pyspark搭建使用
    YARN 调度器
    InnoDB: Error: page xxx log sequence number xx xxx InnoDB: is in the future! Current system log sequence number xx xxx.
    瞬时连接所属进程
    NTP工作原理
    kudu NTP问题优化
  • 原文地址:https://www.cnblogs.com/Tonyyang/p/1777722.html
Copyright © 2011-2022 走看看