.NET 學習

.NET 學習生活感想... 万事成蹉跎..... 贵在坚持 及时整理自己做过和学过的东西

博客园 首页 新随笔 联系 订阅 管理

编辑当前选择的属性

点击编辑

实现代码如下

 

代码
// 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);
                }
            }
        }
    }
}

 

 

posted on 2010-07-15 09:05  Tonyyang  阅读(821)  评论(0编辑  收藏  举报
欢迎转载,转载请注明出处:http://www.cnblogs.com/Tonyyang/