/// <summary> /// Создание полей матрицы /// </summary> private void Create() { LayoutControlGroup prevGroup = null; for (int i = 0; i < _dimension; i++) { // Prev LayoutItem LayoutControlItem prevItem = null; // Group-Row var group = new LayoutControlGroup { TextVisible = false, Padding = new DevExpress.XtraLayout.Utils.Padding(3) }; for (int j = 0; j < _dimension; j++) { var textEdit = new TextEdit { Enabled = !_isDiagonal || i == j }; textEdit.EditValueChanged += ValueChanged; textEdit.Properties.Appearance.Options.UseTextOptions = true; textEdit.Properties.Appearance.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center; var item = new LayoutControlItem(group) { Control = textEdit, TextVisible = false }; if (prevItem == null) { group.AddItem(item); } else { group.AddItem(item, prevItem, InsertType.Right); } prevItem = item; _matrix[i, j] = textEdit; } if (prevGroup == null) { mainLayoutControl.AddGroup(group); } else { mainLayoutControl.AddGroup(group, prevGroup, InsertType.Bottom); } prevGroup = group; } mainLayoutControl.AddItem(new EmptySpaceItem(), prevGroup, InsertType.Bottom); }
private LayoutControlItem createMetadataProviderLayoutControlItem(LayoutControlGroup lg) { LayoutControlItem lci = lg.AddItem( ); lci.Name = "lciMetadataProvider"; lci.Text = "Metadata Provider"; ComboBoxEdit o = (ComboBoxEdit)(lci.Control = new ComboBoxEdit( )); { ComboBoxItemCollection coll = o.Properties.Items; coll.BeginUpdate( ); try { string[] name = Enum.GetNames(typeof(MetadataProviderEnum)); for (int i = 0; i < name.Length; i++) { string tc = System.Globalization.CultureInfo.CurrentUICulture.TextInfo.ToTitleCase(name[i]); coll.Add(tc); } o.SelectedIndex = 0; } finally { coll.EndUpdate( ); } } return(lci); }
private void PhanTich_Load(object sender, EventArgs e) { LoadThongTinChiTiet(); LayoutControlGroup newGroup = dataLayoutControl1.Root.AddGroup(); LayoutControlItem item1 = newGroup.AddItem(); gridControl = new GridControl(); gridControl.Dock = DockStyle.Fill; gridControl.DataSource = getMarkDataWithID(MaHocVien); item1.Control = gridControl; GridView gridView1 = gridControl.MainView as GridView; GridColumn colHocKy = gridView1.Columns["HocKy"]; GridColumn colNam = gridView1.Columns["Nam"]; GridColumn colDiem = gridView1.Columns["Diem"]; colNam.GroupIndex = 0; colHocKy.GroupIndex = 1; gridView1.ExpandAllGroups(); //Change Format Rule GridFormatRule gridFormatRule = new GridFormatRule(); FormatConditionRuleIconSet formatConditionRuleIconSet = new FormatConditionRuleIconSet(); FormatConditionIconSet iconSet = formatConditionRuleIconSet.IconSet = new FormatConditionIconSet(); FormatConditionIconSetIcon icon1 = new FormatConditionIconSetIcon(); FormatConditionIconSetIcon icon2 = new FormatConditionIconSetIcon(); FormatConditionIconSetIcon icon3 = new FormatConditionIconSetIcon(); FormatConditionIconSetIcon icon4 = new FormatConditionIconSetIcon(); //Choose predefined icons. icon1.PredefinedName = "Rating4_1.png"; icon2.PredefinedName = "Rating4_2.png"; icon3.PredefinedName = "Rating4_3.png"; icon4.PredefinedName = "Rating4_4.png"; //Specify the type of threshold values. iconSet.ValueType = FormatConditionValueType.Number; //Define ranges to which icons are applied by setting threshold values. icon1.Value = 8; // target range: 8 <= value icon1.ValueComparison = FormatConditionComparisonType.GreaterOrEqual; icon2.Value = 7; // target range: 7 <= value < 8 icon2.ValueComparison = FormatConditionComparisonType.GreaterOrEqual; icon3.Value = 5; // target range: 5 <= value < 7 icon3.ValueComparison = FormatConditionComparisonType.GreaterOrEqual; icon4.Value = 0; // target range: 0 <= value < 5 icon4.ValueComparison = FormatConditionComparisonType.GreaterOrEqual; //Add icons to the icon set. iconSet.Icons.Add(icon1); iconSet.Icons.Add(icon2); iconSet.Icons.Add(icon3); iconSet.Icons.Add(icon4); //Specify the rule type. gridFormatRule.Rule = formatConditionRuleIconSet; //Specify the column to which formatting is applied. gridFormatRule.Column = colDiem; //Add the formatting rule to the GridView. gridView1.FormatRules.Add(gridFormatRule); }
private static LayoutControlItem createConnectionPropertiesLayoutControlItem(LayoutControlGroup lg, BindingSource bs) { LayoutControlItem lci = lg.AddItem( ); lci.Name = "lciConnectionProperties"; lci.Text = "Connection Properties"; lci.TextLocation = DevExpress.Utils.Locations.Top; GridControl gc = new GridControl( ); { gc.DataSource = bs; gc.UseEmbeddedNavigator = true; gc.ForceInitialize( ); gc.RefreshDataSource( ); GridView gv = gc.MainView as GridView; { gv.NewItemRowText = "New Row"; //gv.OptionsView.NewItemRowPosition = NewItemRowPosition.Top; //gv.InitNewRow += new InitNewRowEventHandler( this.gridView1_InitNewRow ); gv.OptionsView.ShowFooter = true; gv.OptionsBehavior.Editable = true; gv.OptionsBehavior.ReadOnly = false; } } lci.Control = gc; //gv.OptionsView. return(lci); }
/// <summary> /// Initializes a new instance of the <see cref="ElasticLookupControlTemplate" /> class. /// </summary> public ElasticLookupControlTemplate() : base() { typeAndFindPanel.SuspendLayout(); typeAndFindPanel.Root.BeginInit(); typeAndFindPanel.Root.Remove(searchActionContainerLayoutItem); typeAndFindPanel.Root.Remove(typeValueLayoutItem); typeAndFindPanel.Height += 5; elasticActionContainerLayoutGroup = new LayoutControlGroup(); elasticActionContainerLayoutItem = new LayoutControlItem(); elasticActionContainer = new ButtonsContainer(); elasticActionContainerLayoutGroup.BeginInit(); elasticActionContainerLayoutItem.BeginInit(); elasticActionContainer.BeginInit(); elasticActionContainerLayoutGroup.TextVisible = false; elasticActionContainerLayoutGroup.GroupBordersVisible = false; elasticActionContainerLayoutGroup.DefaultLayoutType = LayoutType.Horizontal; elasticActionContainerLayoutItem.Control = elasticActionContainer; elasticActionContainerLayoutItem.Padding = new Padding(0); elasticActionContainerLayoutItem.Name = nameof(elasticActionContainerLayoutItem); elasticActionContainerLayoutItem.TextVisible = false; elasticActionContainerLayoutItem.ControlAlignment = ContentAlignment.MiddleRight; elasticActionContainer.AllowCustomization = false; elasticActionContainer.ContainerId = "ElasticActionContainer"; elasticActionContainer.Name = nameof(elasticActionContainer); elasticActionContainer.HideItemsCompletely = false; elasticActionContainer.Dock = System.Windows.Forms.DockStyle.Fill; elasticActionContainer.PaintStyle = ActionItemPaintStyle.Caption; elasticActionContainer.Root.DefaultLayoutType = LayoutType.Horizontal; elasticActionContainer.Root.EnableIndentsWithoutBorders = DefaultBoolean.True; elasticActionContainer.Root.GroupBordersVisible = false; elasticActionContainer.Root.Location = new Point(0, 0); elasticActionContainer.Root.Name = "elasticActionContainerLayoutControlGroup"; elasticActionContainer.Root.Padding = new Padding(0, 0, 0, 0); elasticActionContainer.Root.Spacing = new Padding(0, 0, 0, 0); elasticActionContainer.TabStop = false; ActionContainersManager.ActionContainerComponents.Add(elasticActionContainer); elasticActionContainerLayoutGroup.AddItem(typeValueLayoutItem); elasticActionContainerLayoutGroup.AddItem(elasticActionContainerLayoutItem); typeAndFindPanel.Root.AddItem(elasticActionContainerLayoutGroup); typeAndFindPanel.Root.AddItem(searchActionContainerLayoutItem); elasticActionContainer.EndInit(); elasticActionContainerLayoutItem.EndInit(); elasticActionContainerLayoutGroup.EndInit(); typeAndFindPanel.Root.EndInit(); typeAndFindPanel.ResumeLayout(false); }
private LayoutControlItem createLoginIDLayoutControlItem(LayoutControlGroup lg) { LayoutControlItem lci = lg.AddItem( ); lci.Name = "lciLoginID"; lci.Text = "Login ID"; lci.Control = new TextEdit( ); return(lci); }
private static LayoutControlItem createConnectionStringLayoutControlItem(LayoutControlGroup lg) { LayoutControlItem lci = lg.AddItem( ); lci.Name = "lciConnectionString"; lci.Text = "Connection String"; lci.Control = new TextEdit( ); return(lci); }
private LayoutControlItem createDescriptionLayoutControlItem(LayoutControlGroup lg) { LayoutControlItem lci = lg.AddItem( ); lci.Name = "lciDescription"; lci.Text = "Description"; lci.TextLocation = DevExpress.Utils.Locations.Top; MemoEdit o = (MemoEdit)(lci.Control = new MemoEdit( )); return(lci); }
private LayoutControlItem createSuperToolTipFooterLayoutControlItem(LayoutControlGroup lg) { LayoutControlItem lci = lg.AddItem( ); lci.Name = "lciFooter"; lci.Text = "Footer"; lci.TextLocation = DevExpress.Utils.Locations.Top; MemoEdit o = (MemoEdit)(lci.Control = new MemoEdit( )); return(lci); }
public void AddResultItem(string text, UserControl details) { Form formMain = ClientEnvironment.MainForm; if (formMain.InvokeRequired) { formMain.BeginInvoke(new AddDetailedResultDelegate(AddResultItem), text, details); return; } if (text == null) { throw new ArgumentNullException("text"); } if (details == null) { throw new ArgumentNullException("details"); } layoutControlWarnings.BeginUpdate(); LayoutControlItem item = new LayoutControlItem(); item.Control = details; item.TextVisible = false; item.Size = details.Size; item.SizeConstraintsType = SizeConstraintsType.Custom; item.MaxSize = new Size(layoutControlWarnings.Width, details.Height); item.MinSize = new Size(layoutControlWarnings.Width - 32, details.Height); LayoutGroup group = new LayoutControlGroup(); group.TextVisible = true; group.Text = text; group.AppearanceGroup.Options.UseTextOptions = true; group.AppearanceGroup.TextOptions.WordWrap = WordWrap.Wrap; group.ExpandButtonVisible = true; group.ExpandButtonLocation = GroupElementLocation.AfterText; group.Expanded = false; // group.GroupBordersVisible = false; group.CaptionImageIndex = 0; layoutControlGroupRoot.AddItem(group); group.AddItem(item); layoutControlWarnings.EndUpdate(); }
protected LayoutControlItem AddViewToGroup(LayoutControlGroup group, IView view) { var layoutControlItem = group.AddItem(); group.Text = view.Caption; if (view.ApplicationIcon != null) { group.CaptionImageIndex = ApplicationIcons.IconIndex(view.ApplicationIcon); } AddViewTo(layoutControlItem, view); layoutControlItem.TextVisible = false; return(layoutControlItem); }
/// <summary> /// 根据对象填充属性字段 /// </summary> /// <param name="groupItem">组项目</param> /// <param name="objType">对象类型</param> private void RetrieveFields(LayoutControlGroup groupItem) { this.DataLayoutControl.CloseControl(); this.DataLayoutControl.SuspendLayout(); EditControls.Clear(); this.DataLayoutControl.Clear(true, true); var controller = Controller as DataParametersEditController; if (DataParameters == null) { return; } foreach (var dataParameter in DataParameters) { Control editControl = CreateEditControl(dataParameter); LayoutControlItem layoutControlItem = null; layoutControlItem = groupItem.AddItem(); layoutControlItem.TextLocation = DevExpress.Utils.Locations.Left; layoutControlItem.Control = editControl; var parameterName = DataPublic.GetParameterName(dataParameter.Name); layoutControlItem.Name = parameterName; layoutControlItem.Text = parameterName; layoutControlItem.CustomizationFormText = dataParameter.Name; if (editControl is BaseObjectEditControl) { layoutControlItem.TextVisible = false; } else { layoutControlItem.TextVisible = true; } } this.DataLayoutControl.Refresh(); this.DataLayoutControl.SetDefaultLayout(); /// 读取布局数据 if (controller.LayoutData.IsNotNull()) { this.DataLayoutControl.SetLayoutData(controller.LayoutData); } this.DataLayoutControl.ResumeLayout(); }
private void createLayoutControl() { LayoutControl lc = this.layoutControl1; // new LayoutControl( ); LayoutControlGroup rg = Form1.configRootGroup(lc, "DataStore Connection"); { lc.Dock = System.Windows.Forms.DockStyle.Fill; LayoutControlItem item1 = rg.AddItem( ); { item1.Name = "lciName"; item1.Text = "Name"; Control textBox1 = item1.Control = new TextEdit( ); { textBox1.Name = "TextBox1"; } } TabbedControlGroup tg = rg.AddTabbedGroup( ); { tg.Name = "tgg"; LayoutControlGroup lg1 = tg.AddTabPage("Connection") as LayoutControlGroup; { createConnectionStringLayoutControlItem(lg1); createLoginIDLayoutControlItem(lg1); createPasswordLayoutControlItem(lg1); createConnectionPropertiesLayoutControlItem(lg1, this.bindingSource1); } LayoutControlGroup lg2 = tg.AddTabPage("Provider") as LayoutControlGroup; { createSyntaxProviderLayoutControlItem(lg2); createMetadataProviderLayoutControlItem(lg2); } LayoutControlGroup lg3 = tg.AddTabPage("Preview") as LayoutControlGroup; { createSuperToolTipHeaderLayoutControlItem(lg3); createSuperToolTipContentLayoutControlItems(lg3); createSuperToolTipFooterLayoutControlItem(lg3); } LayoutControlGroup lg4 = tg.AddTabPage("Description") as LayoutControlGroup; { createDescriptionLayoutControlItem(lg4); } tg.SelectedTabPage = lg1; } } }
private LayoutControlItem createPasswordLayoutControlItem(LayoutControlGroup lg) { LayoutControlItem lci = lg.AddItem( ); lci.Name = "lciPassword"; lci.Text = "Password"; //lci.Control = new TextEdit( ); //((TextEdit)lci.Control).Properties.PasswordChar = '*'; ButtonEdit o = new ButtonEdit( ); { lci.Control = o; o.Properties.PasswordChar = '*'; o.Properties.Buttons[0].Kind = DevExpress.XtraEditors.Controls.ButtonPredefines.Ellipsis; o.Properties.ButtonPressed += this.passwordButtonEdit_ButtonPressed; } return(lci); }
private void x() { LayoutControl lc = this.layoutControl1; // new LayoutControl( ); LayoutControlGroup rg = Form1.configRootGroup(lc, "Root Group"); { lc.Dock = System.Windows.Forms.DockStyle.Fill; LayoutControlItem item1 = rg.AddItem( ); { item1.Name = "Layout Item 1"; item1.Text = "Name"; Control textBox1 = item1.Control = new TextEdit( ); { textBox1.Name = "TextBox1"; } } LayoutControlItem item2 = new LayoutControlItem( ); { item2.Parent = lc.Root; item2.Name = "Layout Item 2"; item2.Text = "E-mail"; Control textBox2 = item2.Control = new TextEdit( ); { textBox2.Name = "TextBox2"; } } // Create a hidden layout item. LayoutControlItem item3 = new LayoutControlItem( ); { lc.HiddenItems.AddRange(new BaseLayoutItem[] { item3 }); item3.Name = "Layout Item 3"; item3.Text = "Notes"; Control textBox3 = item3.Control = new MemoEdit( ); { textBox3.Name = "TextBox3"; } } } }
private void SetCurrentOption(XtraUserControl option) { var ctrl = option as Control; if (ctrl == null) { return; } // set the the LayoutItemControl Owner (LayoutGroupItem) LayoutControlGroup itemOwner = lciLayout; itemOwner.BeginUpdate(); try { // remove the current LayoutItemControl if (lciLayout.Items.Count > 0) { var item = itemOwner.Items[0] as LayoutControlItem; if (item != null) { Control control = item.Control; if (control != null) { control.Parent = null; } item.Dispose(); } } // add the new LayoutItemControl itemOwner.AddItem(string.Empty, ctrl).TextVisible = false; } finally { itemOwner.EndUpdate(); } }
private LayoutControlItem createSyntaxProviderLayoutControlItem(LayoutControlGroup lg) { LayoutControlItem lci = lg.AddItem( ); lci.Name = "lciMetadataProvider"; lci.Text = "Metadata Provider"; ComboBoxEdit o = (ComboBoxEdit)(lci.Control = new ComboBoxEdit( )); { ComboBoxItemCollection coll = o.Properties.Items; coll.BeginUpdate( ); try { coll.AddRange(SyntaxProviderType.ToArray); o.SelectedIndex = 0; } finally { coll.EndUpdate( ); } } return(lci); }
private LayoutControlGroup SetGroup(List <SettingModel> sgroup) { LayoutControlGroup tempGroup = new LayoutControlGroup(); foreach (var item in sgroup) { switch (item.Type) { case SettingType.TEXT: Control con = new TextBox() { }; //con.Size = new Size(150, 80); tempGroup.AddItem(item.Name, con); break; case SettingType.INT: break; case SettingType.DATE: break; case SettingType.CHECK: break; case SettingType.COMBOBOX: break; default: break; } } tempGroup.BestFit(); tempGroup.LayoutMode = LayoutMode.Table; return(tempGroup); }
private LayoutControlGroup CreateLayoutGroup(List <TableColumnDesc> column_list, List <TableColumnDisplay> display_list, List <TableColumnReference> reference_list, List <TableColumnRegular> rule_list) { string group_text = String.Empty; string sub_group_text = String.Empty; TableColumnDisplay display = display_list.Find(obj => obj.Id == column_list[0].Id); if (display != null) { group_text = display.Column_display_name; sub_group_text = display.Sub_group_display_name; } LayoutControlGroup grp = this.CreateLayoutGroup(sub_group_text == String.Empty?group_text:sub_group_text); foreach (TableColumnDesc col in column_list) { TableColumnDisplay column_display = display_list.Find(obj => obj.Id == col.Id); TableColumnReference column_reference = reference_list.Find(obj => obj.Id == col.Id); TableColumnRegular column_rule = rule_list.Find(obj => obj.Id == col.Id); string column_text = column_display != null?column_display.Column_display_name:col.Column_name; string column_ref_value = GlobeData.tableColumnDescList.Find(obj => obj.Column_idx == column_reference.Reference_value_column_id).Column_name; string column_ref_text = GlobeData.tableColumnDescList.Find(obj => obj.Column_idx == column_reference.Reference_text_column_id).Column_name; var ref_data = new object(); LayoutControlItem itm = new LayoutControlItem(); if (column_reference != null) { ClassDesc tmp = GlobeData.classDescList.Find(obj => obj.Id == column_reference.Reference_id); if (tmp != null) { object ref_class = GlobeData.assembly.CreateInstance(tmp.Class_name); ref_data = ref_class.GetType().InvokeMember("GetDataList", BindingFlags.Default | BindingFlags.InvokeMethod, null, ref_class, null); } } switch (col.Column_edit_type) { case ObjectEnum.ColumnEditType.Calc: itm = this.CreateCalcItem(column_text, col.Column_name, 10, 8, col.Is_readonly); break; case ObjectEnum.ColumnEditType.Check: itm = this.CreateCheckItem(column_text, col.Column_name, col.Is_readonly); break; case ObjectEnum.ColumnEditType.CheckedCombo: itm = this.CreateCheckedComboItem(column_text, col.Column_name, column_rule != null ? column_rule.ItemList.Split(',').ToList(): new List <String>(), "(Select All)", ',', col.Is_readonly); break; case ObjectEnum.ColumnEditType.Combo: itm = this.CreateComboItem(column_text, col.Column_name, ref_data, column_ref_text, column_ref_value, col.Is_readonly); break; case ObjectEnum.ColumnEditType.Date: itm = this.CreateDateItem(column_text, col.Column_name, col.Is_readonly); break; case ObjectEnum.ColumnEditType.Grid: break; case ObjectEnum.ColumnEditType.LookUp: itm = this.CreateSearchFindItem(column_text, col.Column_name, ref_data, column_ref_text, column_ref_value, col.Is_readonly); break; case ObjectEnum.ColumnEditType.Memo: itm = this.CreateMemoItem(column_text, col.Column_name, column_rule != null ? column_rule.Max_length : 65535, col.Is_readonly); break; case ObjectEnum.ColumnEditType.Spin: itm = this.CreateSpinItem(column_text, col.Column_name, column_rule != null ? column_rule.Max_value : int.MaxValue, column_rule != null ? column_rule.Min_value : int.MinValue, 1, false, col.Is_readonly); break; case ObjectEnum.ColumnEditType.Text: itm = this.CreateTextItem(column_text, col.Column_name, column_rule != null ? column_rule.Max_length : 65535, column_rule != null?column_rule.Mask_type:MaskType.None, column_rule != null?column_rule.Mask:String.Empty, col.Is_readonly); break; case ObjectEnum.ColumnEditType.Time: itm = this.CreateTimeItem(column_text, col.Column_name, col.Is_readonly); break; case ObjectEnum.ColumnEditType.Toggle: itm = this.CreateToggleSwitchItem(column_text, col.Column_name, column_rule != null ? column_rule.Toggle_off_value : false, column_rule != null ? column_rule.Toggle_on_value : true, column_rule != null ? column_rule.Toggle_off_text : "Off", column_rule != null ? column_rule.Toggle_on_text : "ON", col.Is_readonly); break; } grp.AddItem(itm); } return(grp); }
public void CreateLayoutEditor(DynamicObjectHelper dynamicObject) { if (dynamicObject.classDesc == null) { return; } this.dynamicObject = dynamicObject; bindingSource.DataSource = dynamicObject.objclass; int group_idx = 1; while (true) { List <TableColumnDesc> list = dynamicObject.ColumnList.FindAll(obj => obj.Group_idx == group_idx); if (list.Count > 0) { string group_text = String.Empty; TableColumnDisplay display = dynamicObject.ColumnLanguageDisplayList.Find(obj => obj.Id == list[0].Id); if (display != null) { group_text = display.Column_display_name; } LayoutControlGroup grp = this.CreateLayoutGroup(group_text); #region 子Group (int min, int max)tuple = (list.Min(obj => obj.Sub_group_idx), list.Min(obj => obj.Sub_group_idx)); if (tuple.min > 0) { for (int k = tuple.min; k <= tuple.max; k++) { List <TableColumnDesc> sub_list = list.FindAll(obj => obj.Sub_group_idx == k); grp.Add(this.CreateLayoutGroup(sub_list, dynamicObject.ColumnLanguageDisplayList, dynamicObject.ColumnReferenceList, dynamicObject.ColumnRegularList)); } } #endregion #region 单个Group else { grp = this.CreateLayoutGroup(list, dynamicObject.ColumnLanguageDisplayList, dynamicObject.ColumnReferenceList, dynamicObject.ColumnRegularList); } #endregion this.layoutEdit.AddGroup(grp); } else { break; } group_idx++; } List <ClassRelated> sub_class = GlobeData.classRelatedList.FindAll(obj => obj.Main_class_id == dynamicObject.classDesc.Id); foreach (ClassRelated sub in sub_class) { ClassDesc subclass = GlobeData.classDescList.Find(obj => obj.Id == sub.Sub_class_id); LayoutControlGroup grp1 = this.CreateLayoutGroup(subclass.Class_name); LayoutControlItem item = this.CreateGridListViewItem(subclass); grp1.AddItem(item); layoutEdit.AddGroup(grp1); } }
/// <summary> /// 根据对象填充属性字段 /// </summary> /// <param name="groupItem">组项目</param> /// <param name="objType">对象类型</param> private void RetrieveFields(LayoutControlGroup groupItem, Type objType) { UIPublic.ShowWaitingForm(); this.DataLayoutControl.CloseControl(); EditControls.Clear(); this.DataLayoutControl.Clear(true, true); var controller = Controller as ObjectLayoutEditController; if (objType == null) { return; } this.DataLayoutControl.SuspendLayout(); TabbedControlGroup tabbledGroup = null; foreach (PropertyDescriptor propDesc in TypeDescriptor.GetProperties(objType)) { if (!propDesc.IsBrowsable) { continue; } BaseEditController editController = null; Control editControl = null; if (controller != null) { editController = controller.GetPredefinedEditController(propDesc.PropertyType, propDesc.Name); } if (editController == null) { if (propDesc.PropertyType.IsAddon()) { var commonEditController = new CommonObjectEditController(); commonEditController.StartEditProperty(EditValue, propDesc.Name); editController = commonEditController; } else { editController = EditorPublic.GetEditController(propDesc); } } editControl = editController.CreateEditControl(propDesc.PropertyType); if (editControl.GetType().GetProperty("EditValue") == null) { throw new Exception("编辑控件必须实现EditValue属性"); } LayoutControlItem layoutControlItem = null; if (editControl is BaseObjectEditControl) { if (tabbledGroup == null) { tabbledGroup = groupItem.AddTabbedGroup(); } var layoutGroupItem = tabbledGroup.AddTabPage(); layoutGroupItem.Name = "Group_" + propDesc.Name; layoutGroupItem.Text = propDesc.DisplayName; layoutGroupItem.CustomizationFormText = "组_" + propDesc.DisplayName; layoutGroupItem.Padding = new DevExpress.XtraLayout.Utils.Padding(0); layoutControlItem = layoutGroupItem.AddItem(); layoutControlItem.TextLocation = DevExpress.Utils.Locations.Top; } else { layoutControlItem = groupItem.AddItem(); layoutControlItem.TextLocation = DevExpress.Utils.Locations.Left; } EditControls.Add(propDesc, editControl); editControl.Tag = propDesc; editControl.Name = propDesc.Name; layoutControlItem.Control = editControl; layoutControlItem.Name = propDesc.Name; layoutControlItem.Text = propDesc.DisplayName; layoutControlItem.CustomizationFormText = propDesc.DisplayName; if (editControl is BaseObjectEditControl) { layoutControlItem.TextVisible = false; } else { layoutControlItem.TextVisible = true; } } this.DataLayoutControl.ResumeLayout(); this.DataLayoutControl.SetDefaultLayout(); // 读取布局数据 if (controller != null && controller.LayoutData.IsNotNullOrEmpty()) { this.DataLayoutControl.SetLayoutData(controller.LayoutData); } UIPublic.CloseWaitingForm(); }
public void AddResultItem(string text, UserControl details) { Form formMain = ClientEnvironment.MainForm; if(formMain.InvokeRequired) { formMain.BeginInvoke(new AddDetailedResultDelegate(AddResultItem), text, details); return; } if (text == null) { throw new ArgumentNullException("text"); } if (details == null) { throw new ArgumentNullException("details"); } layoutControlWarnings.BeginUpdate(); LayoutControlItem item = new LayoutControlItem(); item.Control = details; item.TextVisible = false; item.Size = details.Size; item.SizeConstraintsType = SizeConstraintsType.Custom; item.MaxSize = new Size(layoutControlWarnings.Width, details.Height); item.MinSize = new Size(layoutControlWarnings.Width - 32, details.Height); LayoutGroup group = new LayoutControlGroup(); group.TextVisible = true; group.Text = text; group.AppearanceGroup.Options.UseTextOptions = true; group.AppearanceGroup.TextOptions.WordWrap = WordWrap.Wrap; group.ExpandButtonVisible = true; group.ExpandButtonLocation = GroupElementLocation.AfterText; group.Expanded = false; // group.GroupBordersVisible = false; group.CaptionImageIndex = 0; layoutControlGroupRoot.AddItem(group); group.AddItem(item); layoutControlWarnings.EndUpdate(); }
public UISearchCondition(ModuleInfo moduleInfo, UISearchGroup group) { Group = group; m_ModuleInfo = moduleInfo; Group.Conditions.Add(this); ParentModule = group.ParentModule; // NewGroup m_ConditionGroupLayout = group.LayoutGroup.AddGroup(); m_ConditionGroupLayout.GroupBordersVisible = false; // CheckEdit Use m_EditUse = new CheckEdit { TabStop = false, Text = "" }; // -> Layout m_EditUseLayoutItem = m_ConditionGroupLayout.AddItem("", m_EditUse); m_EditUseLayoutItem.TextVisible = false; m_EditUseLayoutItem.SizeConstraintsType = SizeConstraintsType.Custom; m_EditUseLayoutItem.MaxSize = m_EditUseLayoutItem.MinSize = new Size(24, 22); m_EditUse.CheckedChanged += CheckEditUse_CheckedChanged; // Condition ComboBox m_Condition = new ImageComboBoxEdit { TabStop = false }; #if DEBUG var button = new EditorButton(ButtonPredefines.Up); button.Tag = "DEBUG_EDIT"; m_Condition.Properties.Buttons.Add(button); m_Condition.ButtonClick += delegate(object sender, ButtonPressedEventArgs e) { var fieldInfo = m_Condition.EditValue as ModuleFieldInfo; if (e.Button == button) { var ucModule = MainProcess.CreateModuleInstance("02905", "MED"); ucModule["P01"] = fieldInfo.ModuleID; ucModule["C01"] = fieldInfo.FieldID; ucModule.ShowDialogModule(ParentModule); } }; #endif m_Condition.EditValueChanged += cboCondition_EditValueChanged; // -> Layout m_ConditionLayoutItem = m_ConditionGroupLayout.AddItem("", m_Condition, m_EditUseLayoutItem, InsertType.Right); m_ConditionLayoutItem.TextVisible = false; m_ConditionLayoutItem.SizeConstraintsType = SizeConstraintsType.Custom; m_ConditionLayoutItem.MinSize = m_ConditionLayoutItem.MaxSize = new Size(320, 22); // Operator ComboBox // -> Layout m_OperatorLayoutItem = m_ConditionGroupLayout.AddItem(m_ConditionLayoutItem, InsertType.Right); // Editor Value // -> Layout m_EditValueLayoutItem = m_ConditionGroupLayout.AddItem(m_OperatorLayoutItem, InsertType.Right); // Button Remove m_RemoveButton = new SimpleButton { TabStop = false }; ParentModule.Language.FormatButton(m_RemoveButton, "btnRemoveCondition"); m_RemoveButton.Click += m_btnRemove_Click; // -> Layout m_RemoveButtonLayoutItem = m_ConditionGroupLayout.AddItem("", m_RemoveButton, m_EditValueLayoutItem, InsertType.Right); m_RemoveButtonLayoutItem.TextVisible = false; m_RemoveButtonLayoutItem.SizeConstraintsType = SizeConstraintsType.Custom; m_RemoveButtonLayoutItem.MinSize = m_RemoveButtonLayoutItem.MaxSize = new Size(100, 22); group.LayoutGroup.Add(m_ConditionGroupLayout); InitializeConditionComboBox(); ConditionModule.UpdateConditionQuery(); m_EditUse.Checked = true; }
public UISearchGroup(ucModule parentModule, LayoutControlGroup parentLayoutGroup) { ParentModule = parentModule; ModuleInfo = parentModule.ModuleInfo; ParentLayoutGroup = parentLayoutGroup; SearchLayout = (LayoutControl)parentLayoutGroup.Owner; Groups = new List <UISearchGroup>(); Conditions = new List <UISearchCondition>(); LayoutGroup = new LayoutControlGroup(); SearchLayout.BeginUpdate(); parentLayoutGroup.BeginUpdate(); m_EditUse = new CheckEdit(); // GetFields: ModID = ModuleTypeID, Group = SQL_EXPRESSION var fieldSqlLogic = FieldUtils.GetModuleFields( ModuleInfo.ModuleType, CODES.DEFMODFLD.FLDGROUP.SQL_EXPRESSION )[0]; // m_SQLLogic = (ImageComboBoxEdit)parentModule.CreateControl(fieldSqlLogic); parentModule.SetControlListSource(m_SQLLogic); parentModule.SetControlDefaultValue(m_SQLLogic); m_AddGroup = new SimpleButton(); m_AddCondition = new SimpleButton(); m_DeleteGroup = new SimpleButton(); SearchLayout.Controls.AddRange(new Control[] { m_EditUse, m_SQLLogic, m_AddGroup, m_AddCondition, m_DeleteGroup }); (m_EditUseLayoutItem = LayoutGroup.AddItem("Use Condition", m_EditUse)).BeginInit(); (m_MainSeparator = (SimpleSeparator)LayoutGroup.AddItem(new SimpleSeparator(), m_EditUseLayoutItem, InsertType.Bottom)).BeginInit(); (m_SQLLogicLayoutItem = LayoutGroup.AddItem("Group Type", m_SQLLogic, m_EditUseLayoutItem, InsertType.Right)).BeginInit(); (m_SQLLogicEmptySpace = (EmptySpaceItem)LayoutGroup.AddItem(new EmptySpaceItem(LayoutGroup), m_SQLLogicLayoutItem, InsertType.Right)).BeginInit(); (m_DeleteGroupLayoutItem = LayoutGroup.AddItem("Delete Group", m_DeleteGroup, m_SQLLogicEmptySpace, InsertType.Right)).BeginInit(); (m_AddGroupLayoutItem = LayoutGroup.AddItem("Add Group", m_AddGroup, m_DeleteGroupLayoutItem, InsertType.Right)).BeginInit(); (m_AddConditionLayoutItem = LayoutGroup.AddItem("Add Condition", m_AddCondition, m_AddGroupLayoutItem, InsertType.Right)).BeginInit(); // m_chkEditUse m_EditUse.Text = ""; m_EditUse.Checked = true; m_EditUse.EditValueChanged += CheckEditUse_CheckedChanged; // m_btnDeleteGroup parentModule.Language.FormatButton(m_DeleteGroup, "btnDeleteGroupCondition"); m_DeleteGroup.Click += DeleteGroupCondition_Click; // m_btnAddGroup parentModule.Language.FormatButton(m_AddGroup, "btnAddGroupCondition"); m_AddGroup.Click += AddGroupCondition_Click; // m_btnAddCondition parentModule.Language.FormatButton(m_AddCondition, "btnAddCondition"); m_AddCondition.Click += AddConditionButton_Click; // LayoutGroup LayoutGroup.Padding = new DevExpress.XtraLayout.Utils.Padding(9, 2, 2, 2); LayoutGroup.TextLocation = DevExpress.Utils.Locations.Left; LayoutGroup.Text = " "; // m_layout_chkEditUse m_EditUseLayoutItem.TextVisible = false; m_EditUseLayoutItem.SizeConstraintsType = SizeConstraintsType.Custom; m_EditUseLayoutItem.ControlAlignment = ContentAlignment.MiddleCenter; m_EditUseLayoutItem.FillControlToClientArea = false; m_EditUseLayoutItem.MinSize = m_EditUseLayoutItem.MaxSize = new Size(20, 24); // m_layout_cboSQLLogic m_SQLLogicLayoutItem.TextVisible = false; m_SQLLogicLayoutItem.SizeConstraintsType = SizeConstraintsType.Custom; m_SQLLogicLayoutItem.ControlAlignment = ContentAlignment.MiddleCenter; m_EditUseLayoutItem.FillControlToClientArea = false; m_SQLLogicLayoutItem.MinSize = m_SQLLogicLayoutItem.MaxSize = new Size(240, 24); // m_layout_btnDeleteGroup m_DeleteGroupLayoutItem.TextVisible = false; m_DeleteGroupLayoutItem.SizeConstraintsType = SizeConstraintsType.Custom; m_DeleteGroupLayoutItem.ControlAlignment = ContentAlignment.MiddleCenter; m_EditUseLayoutItem.FillControlToClientArea = false; m_DeleteGroupLayoutItem.MinSize = m_DeleteGroupLayoutItem.MaxSize = new Size(140, 24); // m_layout_cboSQLLogic m_AddGroupLayoutItem.TextVisible = false; m_AddGroupLayoutItem.SizeConstraintsType = SizeConstraintsType.Custom; m_AddGroupLayoutItem.ControlAlignment = ContentAlignment.MiddleCenter; m_EditUseLayoutItem.FillControlToClientArea = false; m_AddGroupLayoutItem.MinSize = m_AddGroupLayoutItem.MaxSize = new Size(140, 24); // m_layout_cboSQLLogic m_AddConditionLayoutItem.TextVisible = false; m_AddConditionLayoutItem.SizeConstraintsType = SizeConstraintsType.Custom; m_AddConditionLayoutItem.ControlAlignment = ContentAlignment.MiddleCenter; m_EditUseLayoutItem.FillControlToClientArea = false; m_AddConditionLayoutItem.MinSize = m_AddConditionLayoutItem.MaxSize = new Size(110, 24); m_MainSeparator.FillControlToClientArea = false; m_MainSeparator.SizeConstraintsType = SizeConstraintsType.Default; m_EditUseLayoutItem.EndInit(); m_SQLLogicLayoutItem.EndInit(); m_SQLLogicEmptySpace.EndInit(); m_DeleteGroupLayoutItem.EndInit(); m_AddGroupLayoutItem.EndInit(); m_AddConditionLayoutItem.EndInit(); m_MainSeparator.EndInit(); parentLayoutGroup.Add(LayoutGroup); if (ConditionModule.ConditionLayoutGroup == parentLayoutGroup) { parentLayoutGroup.AddItem(new EmptySpaceItem(), LayoutGroup, InsertType.Bottom); m_DeleteGroupLayoutItem.Visibility = LayoutVisibility.Never; } parentLayoutGroup.EndUpdate(); SearchLayout.EndUpdate(); }