public void Combine(DeferredOperationManager sourceDeferredOperationManager) { lock (this) { this.RefreshPending = this.RefreshPending || sourceDeferredOperationManager.RefreshPending; this.RegroupPending = this.RegroupPending || sourceDeferredOperationManager.RegroupPending; this.ResortPending = this.ResortPending || sourceDeferredOperationManager.ResortPending; this.RefreshDistincValuesPending = this.RefreshDistincValuesPending || sourceDeferredOperationManager.RefreshDistincValuesPending; this.RefreshDistincValuesWithFilteredItemChangedPending = this.RefreshDistincValuesWithFilteredItemChangedPending || sourceDeferredOperationManager.RefreshDistincValuesWithFilteredItemChangedPending; if (this.RefreshPending) { m_deferredOperations.Clear(); return; } List <DeferredOperation> sourceOperations = sourceDeferredOperationManager.m_deferredOperations; if (sourceOperations.Count == 0) { return; } m_deferredOperations.InsertRange(0, sourceOperations); } }
private DataGridCollectionViewBase() : base( new object[ 0 ] ) { this.PreConstruct(); m_distinctValues = new DistinctValuesDictionary( this ); m_autoFilterValues = new ReadOnlyDictionary<string, IList>(); m_autoFilteredDataGridItemProperties = new ObservableCollection<DataGridItemPropertyBase>(); m_filteredItemProperties = new List<DataGridItemPropertyBase>(); m_readOnlyFilteredItemProperties = new ReadOnlyCollection<DataGridItemPropertyBase>( m_filteredItemProperties ); // The constructor used for detail creation will rectify the m_rootDataGridCollectionViewBase later on. m_rootDataGridCollectionViewBase = this; m_deferredOperationManager = new DeferredOperationManager( this, this.Dispatcher, true ); }
private void AddDeferredOperationForAddNew( DeferredOperation deferredOperation ) { if( m_deferredAddNewOperationManager == null ) m_deferredAddNewOperationManager = new DeferredOperationManager( this, null, false ); m_deferredAddNewOperationManager.Add( deferredOperation ); }
public void Combine( DeferredOperationManager sourceDeferredOperationManager ) { lock( this ) { this.RefreshPending |= sourceDeferredOperationManager.RefreshPending; this.RegroupPending |= sourceDeferredOperationManager.RegroupPending; this.ResortPending |= sourceDeferredOperationManager.ResortPending; this.RefreshDistincValuesPending |= sourceDeferredOperationManager.RefreshDistincValuesPending; this.RefreshDistincValuesWithFilteredItemChangedPending |= sourceDeferredOperationManager.RefreshDistincValuesWithFilteredItemChangedPending; if( this.RefreshPending ) { m_deferredOperations = null; return; } List<DeferredOperation> sourceOperations = sourceDeferredOperationManager.m_deferredOperations; if( ( sourceOperations == null ) || ( sourceOperations.Count == 0 ) ) return; if( m_deferredOperations == null ) m_deferredOperations = new List<DeferredOperation>(); m_deferredOperations.InsertRange( 0, sourceOperations ); } }