Changeset 7977


Ignore:
Timestamp:
06/11/12 09:02:04 (11 months ago)
Author:
mkommend
Message:

#1869: Added methods to handle collection of data rows in DataTableView.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/sources/HeuristicLab.Analysis.Views/3.3/DataTableView.cs

    r7304 r7977  
    104104      if (Content != null) { 
    105105        chart.Titles[0].Text = Content.Name; 
    106         foreach (DataRow row in Content.Rows) 
    107           AddDataRow(row); 
     106        AddDataRows(Content.Rows); 
    108107        ConfigureChartArea(chart.ChartAreas[0]); 
    109108        RecalculateAxesScale(chart.ChartAreas[0]); 
     
    123122      } else MessageBox.Show("Nothing to configure."); 
    124123    } 
    125  
    126     protected virtual void AddDataRow(DataRow row) { 
    127       Series series = new Series(row.Name); 
    128       if (row.VisualProperties.DisplayName.Trim() != String.Empty) series.LegendText = row.VisualProperties.DisplayName; 
    129       else series.LegendText = row.Name; 
    130       ConfigureSeries(series, row); 
    131       FillSeriesWithRowValues(series, row); 
    132  
    133       chart.Series.Add(series); 
     124    protected virtual void AddDataRows(IEnumerable<DataRow> rows) { 
     125      foreach (var row in rows) { 
     126        RegisterDataRowEvents(row); 
     127        Series series = new Series(row.Name); 
     128        if (row.VisualProperties.DisplayName.Trim() != String.Empty) series.LegendText = row.VisualProperties.DisplayName; 
     129        else series.LegendText = row.Name; 
     130        ConfigureSeries(series, row); 
     131        FillSeriesWithRowValues(series, row); 
     132        chart.Series.Add(series); 
     133      } 
    134134      ConfigureChartArea(chart.ChartAreas[0]); 
    135135      RecalculateAxesScale(chart.ChartAreas[0]); 
     
    265265    } 
    266266 
    267  
    268     protected virtual void RemoveDataRow(DataRow row) { 
    269       Series series = chart.Series[row.Name]; 
    270       chart.Series.Remove(series); 
    271       if (invisibleSeries.Contains(series)) 
    272         invisibleSeries.Remove(series); 
     267    protected virtual void RemoveDataRows(IEnumerable<DataRow> rows) { 
     268      foreach (var row in rows) { 
     269        DeregisterDataRowEvents(row); 
     270        Series series = chart.Series[row.Name]; 
     271        chart.Series.Remove(series); 
     272        if (invisibleSeries.Contains(series)) 
     273          invisibleSeries.Remove(series); 
     274      } 
    273275      RecalculateAxesScale(chart.ChartAreas[0]); 
    274276    } 
     
    298300        Invoke(new CollectionItemsChangedEventHandler<DataRow>(Rows_ItemsAdded), sender, e); 
    299301      else { 
    300         foreach (DataRow row in e.Items) { 
    301           AddDataRow(row); 
    302           RegisterDataRowEvents(row); 
    303         } 
     302        AddDataRows(e.Items); 
    304303      } 
    305304    } 
     
    308307        Invoke(new CollectionItemsChangedEventHandler<DataRow>(Rows_ItemsRemoved), sender, e); 
    309308      else { 
    310         foreach (DataRow row in e.Items) { 
    311           DeregisterDataRowEvents(row); 
    312           RemoveDataRow(row); 
    313         } 
     309        RemoveDataRows(e.Items); 
    314310      } 
    315311    } 
     
    318314        Invoke(new CollectionItemsChangedEventHandler<DataRow>(Rows_ItemsReplaced), sender, e); 
    319315      else { 
    320         foreach (DataRow row in e.OldItems) { 
    321           DeregisterDataRowEvents(row); 
    322           RemoveDataRow(row); 
    323         } 
    324         foreach (DataRow row in e.Items) { 
    325           AddDataRow(row); 
    326           RegisterDataRowEvents(row); 
    327         } 
     316        RemoveDataRows(e.OldItems); 
     317        AddDataRows(e.Items); 
    328318      } 
    329319    } 
     
    332322        Invoke(new CollectionItemsChangedEventHandler<DataRow>(Rows_CollectionReset), sender, e); 
    333323      else { 
    334         foreach (DataRow row in e.OldItems) { 
    335           DeregisterDataRowEvents(row); 
    336           RemoveDataRow(row); 
    337         } 
    338         foreach (DataRow row in e.Items) { 
    339           AddDataRow(row); 
    340           RegisterDataRowEvents(row); 
    341         } 
     324        RemoveDataRows(e.OldItems); 
     325        AddDataRows(e.Items); 
    342326      } 
    343327    } 
Note: See TracChangeset for help on using the changeset viewer.