开发者论坛

 找回密码
 注册 (请使用非IE浏览器)
查看: 3634|回复: 0

XAF 如何编辑当前选择的下拉列表项属性

[复制链接]

0

精华

0

贡献

74

赞扬

帖子
74
软币
717
在线时间
55 小时
注册时间
2013-8-2
发表于 2016-8-11 20:55:37 | 显示全部楼层 |阅读模式
本帖最后由 ytq2080 于 2016-8-11 20:57 编辑

编辑当前选择的属性
file:///C:/Users/admin/AppData/Local/Temp/msohtmlclip1/01/clip_image002.jpg
实现代码如下
代码
Code highlighting produced by Actipro CodeHighlighter(freeware)http://www.CodeHighlighter.com/-->// Developer Express CodeCentral Example:
// How to edit the currently selected object in theWindows Forms LookupPropertyEditor
//
// This example illustrates the functionality describedin the K18024 KB article. A
// separate v2010 vol 1 solution is also available.
//
// You can find sample updates and versions for differentprogramming languages here:
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 {
        publicMyLookupPropertyEditor(Type objectType, IModelMemberViewItem model) :base(objectType, model) { }
        protectedoverride 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(newEditorButton(ButtonPredefines.Glyph, "Edit", -1, true, true, true,HorzAlignment.Default, null, new KeyShortcut(System.Windows.Forms.Keys.Enter),appearance, "Press this button to edit the object"));
           ((RepositoryItemLookupEdit)item).ButtonClick += newButtonPressedEventHandler(MyLookupPropertyEditor_ButtonClick);
        }
        voidMyLookupPropertyEditor_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);
                }
            }
        }
    }
}


评分

参与人数 1赞扬 +1 收起 理由
jht2800 + 1 感谢分享

查看全部评分

回复

使用道具 举报

Archiver|手机版|小黑屋|开发者网 ( 苏ICP备08004430号-2 )
版权所有:南京韵文教育信息咨询有限公司

GMT+8, 2024-12-23 07:21

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表