Exemple #1
0
        public DictionaryToTableDataSource_Row(DictionaryEx <string, object> _src, Dictionary <string, Type> columnType, Dictionary <string, string> _mappingRelation)
        {
            if (_src == null)
            {
                throw new ArgumentNullException("数据源不能为空");
            }

            if (_mappingRelation == null || _mappingRelation.Count <= 0)
            {
                MappingRelation = new Dictionary <string, string>();

                foreach (var o in _src)
                {
                    MappingRelation.Add(o.Key, o.Key);
                }
            }
            else
            {
                MappingRelation = _mappingRelation;
            }



            if (columnType == null || columnType.Count <= 0)
            {
                Columns = new Dictionary <string, Type>();

                foreach (var v in MappingRelation)
                {
                    Columns.Add(v.Key, v.Value.GetType());
                }
            }
            else
            {
                Columns = columnType;
            }

            _src.DictionaryChanged += OnPropertyChanged;

            Items = _src;

            this.Add(this);
        }
Exemple #2
0
        /// <summary>
        ///     构造函数
        /// </summary>
        /// <param name="src">为数据绑定源提供数据的DictionaryEx类</param>
        /// <param name="_clumns">列名以及列的数据类型关系表,格式为:{列名,类型}</param>
        /// <param name="_mappingRelation">列名及key的映射关系表,格式为:{列名,key}</param>
        public DictionaryToTableDataSource(DictionaryEx <string, object> src,
                                           Dictionary <string, Type> _clumns,
                                           IEnumerable <Dictionary <string, string> > _mappingRelation) : this()
        {
            if (src == null)
            {
                throw new ArgumentNullException(@"src", @"传递的数据源参数不能为空");
            }

            Items = src;

            Columns = new Dictionary <string, Type>(_clumns);

            MappingRelation = new List <Dictionary <string, string> >(_mappingRelation);

            //Rows = new List<DictionaryToTableDataSource_Row>(MappingRelation.Count);

            src.DictionaryChanged += src_DictionaryChanged;

            this.Refresh();
        }
Exemple #3
0
 public DictionaryToTableDataSource_Row(DictionaryEx <string, object> _src, Dictionary <string, string> _mappingRelation) : this(_src, null, _mappingRelation)
 {
 }
Exemple #4
0
 public DictionaryToTableDataSource_Row(DictionaryEx <string, object> _src) : this(_src, null, null)
 {
 }