本帖最后由 ytq2080 于 2016-8-11 20:57 编辑
编辑当前选择的属性 file:///C:/Users/admin/AppData/Local/Temp/msohtmlclip1/01/clip_image002.jpg 实现代码如下 代码 // 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); } } } } }
|