public static void CheckWarning(DataListDeleteRowDev entity) { entity.Warning.Clear(); if (entity.TargetWindow == EnumTargetWindow.Current) { if (entity.HostFormEntity.Elements.Contains(entity.DataList) == false) { entity.Warning.AddWarningSign(entity, Language.Current.EventDev_DataListOperatorDev_DataListNotExist); } else { foreach (DataListDeleteRowEvent.WhereItem where in entity.Where) { if (entity.HostFormEntity.Elements.Contains(where.DataColumn) == false) { entity.Warning.AddWarningSign(entity, Language.Current.EventDev_DataListOperatorDev_DataColumnNotExist); } } } } else if (entity.TargetWindow == EnumTargetWindow.Caller) { if (_windowComponentService.CheckElementExistByCode( entity.DataList, FormElementEntityDevTypes.Instance.GetProvideAttribute(typeof(UIElementDataListEntity))) == false) { entity.Warning.AddWarningSign(entity, Language.Current.EventDev_DataListOperatorDev_DataListNotExist); } else { foreach (DataListDeleteRowEvent.WhereItem where in entity.Where) { if (_windowComponentService.CheckDataColumnExistByCode(entity.DataList, where.DataColumn) == false) { entity.Warning.AddWarningSign(entity, Language.Current.EventDev_DataListOperatorDev_DataColumnNotExist); } } } } DataSourceProvideArgs args = new DataSourceProvideArgs() { WindowEntity = entity.HostFormEntity }; foreach (DataListDeleteRowEvent.WhereItem where in entity.Where) { if (_dataSourceProvideFactory.Validate(where.Source, args) == false) { entity.Warning.AddWarningSign(entity, Language.Current.EventDev_DataListOperatorDev_FormElementNotExist); } } }
public override void SetParameter(EventBase even) { DataListDeleteRowDev _event = even as DataListDeleteRowDev; this.DataListId = _event.DataList; this.TargetWindow = _event.TargetWindow; this._wheres = new BindingList <DataListDeleteRowEvent.WhereItem>(_event.Where); this._warningTable.Clear(); //为用于显示的DataColumnName和SourceName赋值 bool warningRow = false; DataSourceProvideArgs args = new DataSourceProvideArgs() { WindowEntity = this.HostAdapter.HostFormEntity }; foreach (DataListDeleteRowEvent.WhereItem where in _wheres) { //where.SourceName = StringParserLogic.DataSourceVisibleString(this.HostAdapter.HostFormEntity, where.Source.ToString(), out warningRow); where.SourceName = DataSourceProvideFactory.Instance.GetDisplayString(where.Source, args); if (String.IsNullOrEmpty(where.SourceName)) { warningRow = true; } //如果是当前窗体 if (this.TargetWindow == EnumTargetWindow.Current) { UIElement formElementDataList = this.HostAdapter.HostFormEntity.FindFormElementById(_event.DataList); if (formElementDataList == null) { warningRow = true; } else { //FormElementDataListEntityDev UIElementDataListEntity dataList = (UIElementDataListEntity)formElementDataList; UIElementDataListColumnEntityAbstract dataColumn = dataList.GetDataColumn(where.DataColumn); if (dataColumn == null) { warningRow = true; } else { where.DataColumnName = dataColumn.Name; } } } //如果是调用者窗体 else { where.DataColumnName = where.DataColumn; } this._warningTable.Add(where, warningRow); } this.dataGridViewDataSet.DataSource = this._wheres; }