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); }
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); } } }
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>(); }
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(); } }
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(); } } }
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); } } }
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; }