예제 #1
0
        public override void SetParameter(EventBase even)
        {
            DataListOperator _event = even as DataListOperator;
            DataRow          dr;
            bool             warningRow;

            foreach (DataColumnDataSourceRelation relation in _event.DataSet)
            {
                warningRow           = false;
                dr                   = this.dtDataSet.NewRow();
                dr["DataColumn"]     = relation.DataColumn;
                dr["DataColumnName"] = "";
                dr["Source"]         = relation.Source.ToString();
                dr["Where"]          = relation.Where.ToString();
                dr["SourceName"]     =
                    StringParserService.DataSourceVisibleString(this.FormEntity, relation.Source.ToString(), out warningRow);
                if (_event.ObjectForm == EnumDataListOperatorObjectForm.Caller)
                {
                    dr["DataColumnName"] = relation.DataColumn;
                    if (!FormOperator.CheckDataColumnExistByCode(_event.DataList, relation.DataColumn))
                    {
                        warningRow = true;
                    }
                }
                else
                {
                    if (!this.FormEntity.Elements.Contains(_event.DataList))
                    {
                        warningRow = true;
                    }
                    else
                    {
                        if (this.FormEntity.Elements.Contains(relation.DataColumn))
                        {
                            dr["DataColumnName"] = this.FormEntity.Elements.GetFormElementById(relation.DataColumn).Name;
                        }
                        else
                        {
                            warningRow = true;
                        }
                    }
                }
                dr["Warning"] = warningRow;
                this.dtDataSet.Rows.Add(dr);
            }
        }