Exemple #1
0
        /// <summary>
        /// Sets the content altogether
        /// </summary>
        /// <param name="source">The data to set</param>
        public void SetContent(ObservableCollection <T_Item> source)
        {
            Elements.Clear();
            // Wrap all elements in Source, build the list of available columns
            Source = source;
            foreach (var item in source)
            {
                Elements.Add(new FieldExposer <T_Item>(DataAccessor, item));
                foreach (var field in DataAccessor.AllFieldsOf(item))
                {
                    var matchingColumn = Columns.FirstOrDefault(col => col.Column == field);
                    if (matchingColumn != null)
                    {
                        matchingColumn.Type = DataAccessor.GetType(item, field);
                        continue;
                    }

                    Columns.Add(new FieldMapperGridColumn()
                    {
                        Parent = this, Header = field, Column = field, Width = 100, Visible = false, Type = DataAccessor.GetType(item, field)
                    });
                }
            }
            OriginalElements = source;
            RaisePropertyChanged("Columns");
        }