public override void SetParameter(EventBase even)
        {
            DataListAddRowDev _event = even as DataListAddRowDev;

            this.DataListId   = _event.DataList;
            this.TargetWindow = _event.TargetWindow;
            this._datas       = new BindingList <DataListAddRowEvent.DataItem>(_event.Data);
            this._warningTable.Clear();
            bool warningRow            = false;
            DataSourceProvideArgs args = new DataSourceProvideArgs()
            {
                WindowEntity = this.HostAdapter.HostFormEntity
            };

            foreach (DataListAddRowEvent.DataItem data in _event.Data)
            {
                data.SourceName = DataSourceProvideFactory.Instance.GetDisplayString(data.Source, args);
                if (String.IsNullOrEmpty(data.SourceName))
                {
                    warningRow = true;
                }
                if (this.TargetWindow == EnumTargetWindow.Current)
                {
                    UIElement formElementDataList = this.HostAdapter.HostFormEntity.FindFormElementById(_event.DataList);
                    if (formElementDataList == null)
                    {
                        warningRow = true;
                    }
                    else
                    {
                        UIElementDataListEntity dataList = (UIElementDataListEntity)formElementDataList;
                        UIElementDataListColumnEntityAbstract dataColumn = dataList.GetDataColumn(data.DataColumn);
                        if (dataColumn == null)
                        {
                            warningRow = true;
                        }
                        else
                        {
                            data.DataColumnName = dataColumn.Name;
                        }
                    }
                }
                else
                {
                    data.DataColumnName = data.DataColumn;
                }
                this._warningTable.Add(data, warningRow);
            }
            this.dataGridViewDataSet.DataSource = this._datas;
        }
示例#2
0
        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;
        }