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); }
/// <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(); }
public DictionaryToTableDataSource_Row(DictionaryEx <string, object> _src, Dictionary <string, string> _mappingRelation) : this(_src, null, _mappingRelation) { }
public DictionaryToTableDataSource_Row(DictionaryEx <string, object> _src) : this(_src, null, null) { }