private void CreateCustomParameterEditors(CustomizeParameterEditorsEventArgs e) { ITypeInfo typeInfo = XafTypesInfo.Instance.FindTypeInfo(e.Parameter.Type); if (typeInfo != null && typeInfo.IsDomainComponent) { ASPxPropertyEditor editor = (ASPxPropertyEditor)Application.EditorFactory.CreateDetailViewEditor(false, GetParameterViewItem(e.Parameter.Name, e.Parameter.Type), typeof(ParametersObject), Application, objectSpace); ASPxLookupPropertyEditor lookupPropertyEditor = editor as ASPxLookupPropertyEditor; if (lookupPropertyEditor != null) { lookupPropertyEditor.WebLookupEditorHelper.EditorMode = LookupEditorMode.AllItems; lookupPropertyEditor.WebLookupEditorHelper.SmallCollectionItemCount = int.MaxValue; } editor.ViewEditMode = ViewEditMode.Edit; editor.CreateControl(); editor.CurrentObject = new object(); editor.ReadValue(); if (lookupPropertyEditor != null) { e.Editor = lookupPropertyEditor.DropDownEdit.DropDown; new PropertyEditorDisposeManager().Attach(lookupPropertyEditor, lookupPropertyEditor.DropDownEdit.DropDown); e.Editor.ID = editor.Id + "_" + e.Editor.ID; lookupPropertyEditor.SetValueToControl(e.Parameter.Value); e.ShouldSetParameterValue = false; } else { e.Editor = editor.Editor as ASPxEdit; new PropertyEditorDisposeManager().Attach(editor, editor.Editor); } } }
public static void RemoveFirstLookupElement(ASPxLookupPropertyEditor lookupPropertyEditor) { if (lookupPropertyEditor != null) { lookupPropertyEditor.ControlCreated += (sender, args) => { var editor = (ASPxLookupPropertyEditor)sender; if (editor.Editor != null && editor.Editor.Controls.Count > 0) { var ddeEditor = editor.Editor.Controls[0] as ASPxLookupDropDownEdit; if (ddeEditor != null) { ddeEditor.PreRender += (o, eventArgs) => { var dd = ddeEditor.DropDown; if (dd != null && dd.Items != null && dd.Items.Count > 0) { dd.Items.RemoveAt(0); } }; } } }; } }