private void ddlDataRule_SelectedIndexChanged(object sender, EventArgs e) { IFormElementDataListColumnDataRule dataRule = ddlDataRule.SelectedItem as IFormElementDataListColumnDataRule; panelDataRule.Controls.Clear(); panelDataRule.Controls.Add(dataRule.ParameterSetPanel); }
public static void SetParameter(this IFormElementDataListColumnDataRule dataColumnDataRule, UIElementDataListColumnDataRuleAbstract dataRule) { IFormElementDataListColumnDataRuleParameterSetControl control = dataColumnDataRule.ParameterSetPanel as IFormElementDataListColumnDataRuleParameterSetControl; if (control == null) { Debug.Assert(false, "没有实现 IFormElementDataColumnDataRuleParameterSetControl"); return; } control.SetParameter(dataRule); }
private void btnOK_Click(object sender, EventArgs e) { #region 数据验证 if (!this.DoValidate()) { return; } #endregion #region 检查指定的代码在正在编辑的列表中是否已存在 //检查指定的代码在正在编辑的列表中是否已存在 if (this.EditCollection != null) { FormElementDataListTextBoxColumnEntityDev formElementDataColumnEntityDev; foreach (object obj in this.EditCollection) { if (obj == this.FormElementDataColumnEntity) { continue; } formElementDataColumnEntityDev = obj as FormElementDataListTextBoxColumnEntityDev; if (formElementDataColumnEntityDev.Code.Equals(this.txtCode.Text)) { MessageBox.Show( Language.Current.FormSEPaginationDataGridViewDevColumnAdd_MessageElementCodeExist, CommonLanguage.Current.MessageCaption_Notice, MessageBoxButtons.OK, MessageBoxIcon.Information ); return; } } } #endregion #region 如果不是编辑状态,new一个新的FormElementDataListTextBoxColumnEntityDev if (_isEdit == false) { this.FormElementDataColumnEntity = new FormElementDataListTextBoxColumnEntityDev(); this.FormElementDataColumnEntity.Id = Guid.NewGuid().ToString(); } #endregion #region 查检指定的代码是否已被占用 //查检指定的代码是否已被占用 if (this.FormElementDataColumnEntity.Code != this.txtCode.Text) { //检查指定的代码在窗体元素中是否已存在 //这里要忽略掉Id,因为到FormEntity中去检查时,FormEntity中的数据列与正在编辑的数据列不是同步的 //一个数据列对象的code如果由a改成b,只要还没保存,那FormEntity中的就还是a,如果由b再改回a //这时到FormEntity中去查,就会报a已被占用,所以要忽略掉Id if (!this.FormEntity.ValidateCode(this.txtCode.Text, FormElementDataColumnEntity.Id)) { MessageBox.Show( Language.Current.FormSEPaginationDataGridViewDevColumnAdd_MessageElementCodeExist, CommonLanguage.Current.MessageCaption_Notice, MessageBoxButtons.OK, MessageBoxIcon.Information ); return; } } #endregion #region 保存数据 this.FormElementDataColumnEntity.Name = txtName.Text; this.FormElementDataColumnEntity.Code = txtCode.Text; this.FormElementDataColumnEntity.Text = txtText.Text; this.FormElementDataColumnEntity.IsBind = radioButtonBind.Checked; this.FormElementDataColumnEntity.Visible = cbVisible.Checked; if (ddlDataItem.SelectedValue != null) { this.FormElementDataColumnEntity.DataItemId = this._dataEntityId + "." + ddlDataItem.SelectedValue.ToString(); } this.FormElementDataColumnEntity.DataPropertyName = txtDataPropertyName.Text; #region 数据规则 //数据规则 IFormElementDataListColumnDataRule dataRule = this.ddlDataRule.SelectedItem as IFormElementDataListColumnDataRule; this.FormElementDataColumnEntity.DataRule = dataRule.GetParameter(); #endregion if (this.ShellControlDev == null) { this.DialogResult = DialogResult.OK; this.Close(); } else { this.btnCancel.Text = Language.Current.FormSEPaginationDataGridViewDevColumnAdd_ButtonClose; FormElementDataListEntityDev.AddColumnCommand command = new FormElementDataListEntityDev.AddColumnCommand(this._entity) { Column = this._formElementDataColumnEntity }; _windowDesignService.ExecuteCommand(command, new Action <SEUndoUnitAbstract, SEUndoEngine.Type>( delegate(SEUndoUnitAbstract undoUnit, SEUndoEngine.Type type) { SEUndoEngineFormDesigner undoEngine = undoUnit.UndoEngine as SEUndoEngineFormDesigner; undoEngine.UpdateView(this._entity); undoEngine.UpdatePropertyGrid(false); })); ResetControl(); this.ShellControlDev.UpdateView(); } #endregion _windowDesignService.MakeDirty(); }
/// <summary> /// 窗体载入 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void FormSEPaginationDataGridViewDevColumnAdd_Load(object sender, EventArgs e) { #region 根据传来的数据实体Id(或空串)判断是否可绑定,并加载相应数据 //根据传来的数据实体Id(或空串)判断是否可绑定,并加载相应数据 if (this._dataEntityId == null || this._dataEntityId == String.Empty) { radioButtonUnBind.Checked = true; radioButtonBind.Enabled = false; } else { radioButtonBind.Checked = true; //加载数据项下拉列表 ddlDataItem.DataSource = _dataEntityComponentService.GetDataEntity(this._dataEntityId).Items; } ChangeBind(); #endregion #region 判断是否编辑状态 //判断是否编辑状态 if (this.FormElementDataColumnEntity == null) { return; } this._isEdit = true; #endregion #region 加载要编辑的列的信息 //加载要编辑的列的信息 this.txtName.Text = this.FormElementDataColumnEntity.Name; this.txtCode.Text = this.FormElementDataColumnEntity.Code; this.txtText.Text = this.FormElementDataColumnEntity.Text; if (this.FormElementDataColumnEntity.IsBind) { this.radioButtonBind.Checked = true; } else { this.radioButtonUnBind.Checked = true; } if (this.radioButtonBind.Checked) { this.ddlDataItem.SelectedValue = this.FormElementDataColumnEntity.DataItemId.Split('.')[1]; } this.txtDataPropertyName.Text = this.FormElementDataColumnEntity.DataPropertyName; this.cbVisible.Checked = this.FormElementDataColumnEntity.Visible; //数据规则 foreach (object obj in this.ddlDataRule.Items) { UIElementDataListColumnDataRuleAbstract dataRuleAbstract = obj as UIElementDataListColumnDataRuleAbstract; if (dataRuleAbstract.GetType().Equals(this.FormElementDataColumnEntity.DataRule.GetType())) { this.ddlDataRule.SelectedItem = obj; break; } } IFormElementDataListColumnDataRule dataRule = this.ddlDataRule.SelectedItem as IFormElementDataListColumnDataRule; dataRule.SetParameter(this.FormElementDataColumnEntity.DataRule); #endregion #region 显示warning信息 //显示warning信息 //if (this.FormElementDataColumnEntity.Warning && this.FormElementDataColumnEntity.SelfWarning) //{ // MessageBox.Show( // this.FormElementDataColumnEntity.WarningMsg, // Language.Current.MessageBoxCaptiton_Warning, // MessageBoxButtons.OK, // MessageBoxIcon.Warning // ); //} if (this.FormElementDataColumnEntity.Warning.ExistWarning) { FormWarning formWarning = new FormWarning(); formWarning.WarningSign = this.FormElementDataColumnEntity.Warning; formWarning.ShowDialog(); } #endregion }