Exemplo n.º 1
0
 public static void CheckWarning(FormElementDataListEntityDev entity)
 {
     entity.Warning.Clear();
     if (String.IsNullOrEmpty(entity.DataEntityId) == false)
     {
         DataEntity dataEntity = _dataEntityComponentService.GetDataEntity(entity.DataEntityId);
         if (dataEntity == null)
         {
             entity.Warning.AddWarningSign(entity, Language.Current.EntityDev_FormElementDataListEntityDev_DataEntityNotExist);
         }
     }
     foreach (UIElementDataListColumnEntityAbstract dc in entity.DataColumns)
     {
         IWarningable columnWarning = dc as IWarningable;
         if (columnWarning == null)
         {
             continue;
         }
         columnWarning.CheckWarning();
         if (columnWarning.Warning.ExistWarning)
         {
             entity.Warning.AddWarningSign(columnWarning.Warning);
         }
     }
     WarningCheckerHelper.EventsValidate(entity);
 }
Exemplo n.º 2
0
        private bool formCollectionEditor_OnEdit(object obj, FormCollectionEditor.CollectionEditorEventArgs e, out object oldValue)
        {
            ICloneable clone = obj as ICloneable;

            oldValue = obj;
            if (clone != null)
            {
                oldValue = clone.Clone();
            }

            IShellControlDev             shellControlDev = this.Control as IShellControlDev;
            FormElementDataListEntityDev formElementDataListEntityDev = shellControlDev.Entity as FormElementDataListEntityDev;

            using (FormSEPaginationDataGridViewDevColumnAdd formFormElementAdd_DataColumn =
                       new FormSEPaginationDataGridViewDevColumnAdd(formElementDataListEntityDev))
            {
                formFormElementAdd_DataColumn.FormElementDataColumnEntity = (FormElementDataListTextBoxColumnEntityDev)obj;
                formFormElementAdd_DataColumn.FormEntity     = (FormEntityDev)formElementDataListEntityDev.HostFormEntity;
                formFormElementAdd_DataColumn.EditCollection = e.EditCollection;

                if (formFormElementAdd_DataColumn.ShowDialog() == DialogResult.OK)
                {
                    return(true);
                }
                else
                {
                    return(false);
                }
            }
        }
Exemplo n.º 3
0
        public void CreateEntity(WindowEntity formEntity)
        {
            FormElementDataListEntityDev entity = new FormElementDataListEntityDev();

            entity.Id   = Guid.NewGuid().ToString();
            entity.Code = ShellControlHelper.EntityCodeCreation(PREFIX, formEntity);
            entity.Name = entity.Code;

            formEntity.Elements.Add(entity);

            this.Entity = entity;
        }
        /// <summary>
        /// 构造
        /// </summary>
        /// <param name="entity"></param>
        public FormSEPaginationDataGridViewDevColumnAdd(FormElementDataListEntityDev entity)
        {
            InitializeComponent();

            Unity.ApplyResource(this);
            this.ApplyLanguageResource();

            this._dataEntityId = entity.DataEntityId;
            this._entity       = entity;

            //加载数据规则列表
            this.ddlDataRule.DataSource = FormElementDataListColumnDataRuleDevTypes.Instance.GetInstanceList <IFormElementDataListColumnDataRule>();
        }
Exemplo n.º 5
0
        private void AddColumn(object sender, EventArgs args)
        {
            IShellControlDev             shellControlDev = this.Control as IShellControlDev;
            FormElementDataListEntityDev formElementDataListEntityDev = (FormElementDataListEntityDev)shellControlDev.Entity;

            using (FormSEPaginationDataGridViewDevColumnAdd formSEPaginationDataGridViewDevColumnAdd =
                       new FormSEPaginationDataGridViewDevColumnAdd(formElementDataListEntityDev))
            {
                formSEPaginationDataGridViewDevColumnAdd.FormEntity      = (FormEntityDev)formElementDataListEntityDev.HostFormEntity;
                formSEPaginationDataGridViewDevColumnAdd.ShellControlDev = shellControlDev;

                formSEPaginationDataGridViewDevColumnAdd.ShowDialog();
            }
        }
Exemplo n.º 6
0
        private void EditColumns(object sender, EventArgs args)
        {
            IShellControlDev             shellControlDev = this.Control as IShellControlDev;
            FormElementDataListEntityDev formElementDataListEntityDev = shellControlDev.Entity as FormElementDataListEntityDev;

            using (FormCollectionEditor formCollectionEditor = new FormCollectionEditor(formElementDataListEntityDev.DataColumns, true))
            {
                formCollectionEditor.Title   = Language.Current.SEPaginationDataGridViewDev_Verb_FormCollectionEditorTitle;
                formCollectionEditor.OnAdd  += new FormCollectionEditor.CollectionEditorAddEventHandler(formCollectionEditor_OnAdd);
                formCollectionEditor.OnEdit += new FormCollectionEditor.CollectionEditorEditEventHandler(formCollectionEditor_OnEdit);

                if (formCollectionEditor.ShowDialog() == DialogResult.OK)
                {
                    #region 处理可撤销的工作单元

                    if (formCollectionEditor.SupportCancel)
                    {
                        formCollectionEditor.UndoTransaction.SetName(Language.Current.SEPaginationDataGridViewDev_EditColumns_UndoTransaction_Name);

                        //在可撤销单元被撤销或重做时,刷新设计器中呈现的列
                        formCollectionEditor.UndoTransaction.Action = new Action <SEUndoUnitAbstract, SEUndoEngine.Type>(
                            delegate(SEUndoUnitAbstract undoUnit, SEUndoEngine.Type type)
                        {
                            SEUndoEngineFormDesigner undoEngine = undoUnit.UndoEngine as SEUndoEngineFormDesigner;
                            undoEngine.UpdateView(shellControlDev.Entity);
                            undoEngine.UpdatePropertyGrid(false);
                        });

                        _windowDesignService.AddUndoUnit(formCollectionEditor.UndoTransaction);
                    }

                    #endregion

                    shellControlDev.UpdateView();
                    _windowDesignService.MakeDirty();
                }
            }
        }
Exemplo n.º 7
0
        private bool formCollectionEditor_OnAdd(FormCollectionEditor.CollectionEditorEventArgs e, out object addValue)
        {
            IShellControlDev             shellControlDev = this.Control as IShellControlDev;
            FormElementDataListEntityDev formElementDataListEntityDev = shellControlDev.Entity as FormElementDataListEntityDev;

            using (FormSEPaginationDataGridViewDevColumnAdd formFormElementAdd_DataColumn =
                       new FormSEPaginationDataGridViewDevColumnAdd(formElementDataListEntityDev))
            {
                formFormElementAdd_DataColumn.FormEntity     = (FormEntityDev)formElementDataListEntityDev.HostFormEntity;
                formFormElementAdd_DataColumn.EditCollection = e.EditCollection;

                if (formFormElementAdd_DataColumn.ShowDialog() == DialogResult.OK)
                {
                    addValue = formFormElementAdd_DataColumn.FormElementDataColumnEntity;
                    return(true);
                }
                else
                {
                    addValue = null;
                    return(false);
                }
            }
        }
Exemplo n.º 8
0
        public void UpdateView()
        {
            this.ViewUpdating = true;

            //同步特有属性
            FormElementDataListEntityDev formElement = (FormElementDataListEntityDev)_formElement;

            PropertyDescriptor pds;

            #region 主体部分

            AnchorStyles anchorStyles = new AnchorStyles();

            //处理边缘锚定
            //先清除所有方向描定,.net默认左上角锚定
            anchorStyles = anchorStyles & (AnchorStyles)AnchorStyles.Top;
            anchorStyles = anchorStyles & (AnchorStyles)AnchorStyles.Right;
            anchorStyles = anchorStyles & (AnchorStyles)AnchorStyles.Bottom;
            anchorStyles = anchorStyles & (AnchorStyles)AnchorStyles.Left;

            if (formElement.Anchor.Top)
            {
                anchorStyles = anchorStyles | (AnchorStyles)AnchorStyles.Top;
            }
            if (formElement.Anchor.Right)
            {
                anchorStyles = anchorStyles | (AnchorStyles)AnchorStyles.Right;
            }
            if (formElement.Anchor.Bottom)
            {
                anchorStyles = anchorStyles | (AnchorStyles)AnchorStyles.Bottom;
            }
            if (formElement.Anchor.Left)
            {
                anchorStyles = anchorStyles | (AnchorStyles)AnchorStyles.Left;
            }

            ShellControlHelper.SetProperty(this, "Anchor", anchorStyles);

            ShellControlHelper.SetProperty(this, "Text", formElement.Text);
            ShellControlHelper.SetProperty(this, "Size", formElement.Size);
            ShellControlHelper.SetProperty(this, "Location", formElement.Location);
            ShellControlHelper.SetProperty(this, "Text", formElement.Text);
            ShellControlHelper.SetProperty(this, "ForeColor", formElement.ForeColor);
            ShellControlHelper.SetProperty(this, "Visible", formElement.Visible);
            ShellControlHelper.SetProperty(this, "Enabled", formElement.Enabled);
            //ShellControlHelper.SetProperty(this, "NavigationLocation", formElement.NavigationLocation);
            ShellControlHelper.SetProperty(this, "Pagination", formElement.Pagination);
            ShellControlHelper.SetProperty(this, "ShowItemCount", formElement.ShowItemCount);
            ShellControlHelper.SetProperty(this, "ShowPageCount", formElement.ShowPageCount);
            ShellControlHelper.SetProperty(this, "ShowPageHomeEnd", formElement.ShowPageHomeEnd);
            ShellControlHelper.SetProperty(this, "TabIndex", formElement.TabIndex);

            #endregion

            #region DataGridView部分

            PropertyDescriptorCollection pdcDataGridView = TypeDescriptor.GetProperties(this.DataGridView);

            pds = pdcDataGridView.Find("BackgroundColor", false);
            if (pds != null)
            {
                //DataGridView.BackgroundColor不支持Color.Empty
                if (formElement.BackColor == Color.Empty)
                {
                    formElement.BackColorValue = "2.Window";
                }

                if (!pds.GetValue(this.DataGridView).Equals(formElement.BackColor))
                {
                    pds.SetValue(this.DataGridView, formElement.BackColor);
                }
            }

            #region 列同步不能,原因不明

            //列

            /*
             * DataGridViewColumnCollection dataGridViewColumnCollection = new DataGridViewColumnCollection(this.DataGridView);
             * foreach (FormElementDataColumnEntityDev column in formElement.DataColumns)
             * {
             *  dataGridViewColumnCollection.Add(new DataGridViewTextBoxColumnDev(column));
             * }
             *
             * pds = pdcDataGridView.Find("Columns", false);
             * if (pds != null)
             * {
             *  pds.SetValue(this.DataGridView, dataGridViewColumnCollection);
             * }
             */

            #endregion
            this.DataGridView.Columns.Clear();
            foreach (FormElementDataListTextBoxColumnEntityDev column in formElement.DataColumns)
            {
                //编辑数据列之后,列对象的DataList属性会为空
                //在这里将DataList属性再次绑定上,放在这里也是为了避免其它类似潜在的问题
                column.DataList = (FormElementDataListEntityDev)this._entity;

                // Debug.Assert(column.DataList != null, "FormElementDataColumnEntityDev 对象的 DataList 属性为 null");

                this.DataGridView.Columns.Add(DataGridViewColumnFactory.GetDataGridViewColumn(column));
            }

            #endregion

            this.ViewUpdating = false;
        }
 public AddColumnCommand(FormElementDataListEntityDev entity)
 {
     this._entity = entity;
 }