Changeset 7977


Ignore:
Timestamp:
06/11/12 09:02:04 (7 years 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.