Esempio n. 1
0
        private void TableStructureChangedEventHandler(object sender, ItemChangedEventArgs e)
        {
            ITableColumn column = e.ItemIndex >= 0 ? (ITableColumn)_table.Columns[e.ItemIndex] : null;

            switch (e.ChangeType)
            {
            case ItemChangeType.ItemAdded:
                _columnToPropertyMap[column] = new TableDataPropertyDescriptor(this, column);
                NotifyListChanged(new ListChangedEventArgs(ListChangedType.PropertyDescriptorAdded, -1));
                break;

            case ItemChangeType.ItemChanged:
                _columnToPropertyMap[column] = new TableDataPropertyDescriptor(this, column);
                NotifyListChanged(new ListChangedEventArgs(ListChangedType.PropertyDescriptorChanged, -1));
                break;

            case ItemChangeType.ItemRemoved:
                _columnToPropertyMap.Remove(column);
                NotifyListChanged(new ListChangedEventArgs(ListChangedType.PropertyDescriptorDeleted, -1));
                break;

            case ItemChangeType.ItemInserted:
            case ItemChangeType.Reset:
                _columnToPropertyMap.Clear();
                NotifyListChanged(new ListChangedEventArgs(ListChangedType.Reset, -1));
                break;
            }
        }
Esempio n. 2
0
        public TableAdapter(ITable table)
        {
            _table = table;
            _table.Items.ItemsChanged   += TableDataChangedEventHandler;
            _table.Columns.ItemsChanged += TableStructureChangedEventHandler;

            // init map of columns to property descriptors
            _columnToPropertyMap = new Dictionary <ITableColumn, TableDataPropertyDescriptor>();
            foreach (ITableColumn column in _table.Columns)
            {
                _columnToPropertyMap[column] = new TableDataPropertyDescriptor(this, column);
            }
        }
Esempio n. 3
0
        public TableAdapter(ITable table)
        {
            _table = table;
            _table.Items.ItemsChanged += TableDataChangedEventHandler;
            _table.Columns.ItemsChanged += TableStructureChangedEventHandler;

            // init map of columns to property descriptors
            _columnToPropertyMap = new Dictionary<ITableColumn, TableDataPropertyDescriptor>();
            foreach (ITableColumn column in _table.Columns)
            {
                _columnToPropertyMap[column] = new TableDataPropertyDescriptor(this, column);
            }
        }
Esempio n. 4
0
        private void TableStructureChangedEventHandler(object sender, ItemChangedEventArgs e)
        {
            ITableColumn column = e.ItemIndex >= 0 ? (ITableColumn)_table.Columns[e.ItemIndex] : null;
            switch (e.ChangeType)
            {
                case ItemChangeType.ItemAdded:
                    _columnToPropertyMap[column] = new TableDataPropertyDescriptor(this, column);
                    NotifyListChanged(new ListChangedEventArgs(ListChangedType.PropertyDescriptorAdded, -1));
                    break;
                case ItemChangeType.ItemChanged:
                    _columnToPropertyMap[column] = new TableDataPropertyDescriptor(this, column);
                    NotifyListChanged(new ListChangedEventArgs(ListChangedType.PropertyDescriptorChanged, -1));
                    break;
                case ItemChangeType.ItemRemoved:
                    _columnToPropertyMap.Remove(column);
                    NotifyListChanged(new ListChangedEventArgs(ListChangedType.PropertyDescriptorDeleted, -1));
                    break;
				case ItemChangeType.ItemInserted:
				case ItemChangeType.Reset:
					_columnToPropertyMap.Clear();
					NotifyListChanged(new ListChangedEventArgs(ListChangedType.Reset, -1));
            		break;
            }
        }