예제 #1
0
        /// <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);
        }
예제 #2
0
        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);
        }
예제 #3
0
        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);
        }
예제 #4
0
        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);
 }
예제 #6
0
        private LayoutControlItem createLoginIDLayoutControlItem(LayoutControlGroup lg)
        {
            LayoutControlItem lci = lg.AddItem( );

            lci.Name    = "lciLoginID";
            lci.Text    = "Login ID";
            lci.Control = new TextEdit( );
            return(lci);
        }
예제 #7
0
        private static LayoutControlItem createConnectionStringLayoutControlItem(LayoutControlGroup lg)
        {
            LayoutControlItem lci = lg.AddItem( );

            lci.Name    = "lciConnectionString";
            lci.Text    = "Connection String";
            lci.Control = new TextEdit( );
            return(lci);
        }
예제 #8
0
        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);
        }
예제 #9
0
        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);
        }
예제 #12
0
        /// <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();
        }
예제 #13
0
        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;
                }
            }
        }
예제 #14
0
        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);
        }
예제 #15
0
        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";
                    }
                }
            }
        }
예제 #16
0
        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();
            }
        }
예제 #17
0
        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);
        }
예제 #18
0
        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);
        }
예제 #19
0
        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);
        }
예제 #20
0
        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);
            }
        }
예제 #21
0
        /// <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();
        }
예제 #23
0
        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;
        }
예제 #24
0
        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();
        }