Index: branches/DataPreprocessing/HeuristicLab.DataPreprocessing.Views/3.3/PreprocessingDataTableView.cs
===================================================================
--- branches/DataPreprocessing/HeuristicLab.DataPreprocessing.Views/3.3/PreprocessingDataTableView.cs	(revision 10804)
+++ branches/DataPreprocessing/HeuristicLab.DataPreprocessing.Views/3.3/PreprocessingDataTableView.cs	(revision 10847)
@@ -60,4 +60,9 @@
       Content.Rows.ItemsReplaced -= new CollectionItemsChangedEventHandler<DataRow>(Rows_ItemsReplaced);
       Content.Rows.CollectionReset -= new CollectionItemsChangedEventHandler<DataRow>(Rows_CollectionReset);
+
+      Content.SelectedRows.ItemsAdded -= new CollectionItemsChangedEventHandler<DataRow>(Rows_ItemsAdded);
+      Content.SelectedRows.ItemsRemoved -= new CollectionItemsChangedEventHandler<DataRow>(Rows_ItemsRemoved);
+      Content.SelectedRows.ItemsReplaced -= new CollectionItemsChangedEventHandler<DataRow>(Rows_ItemsReplaced);
+      Content.SelectedRows.CollectionReset -= new CollectionItemsChangedEventHandler<DataRow>(Rows_CollectionReset);
       base.DeregisterContentEvents();
     }
@@ -69,5 +74,11 @@
       Content.Rows.ItemsReplaced += new CollectionItemsChangedEventHandler<DataRow>(Rows_ItemsReplaced);
       Content.Rows.CollectionReset += new CollectionItemsChangedEventHandler<DataRow>(Rows_CollectionReset);
-    }
+
+      Content.SelectedRows.ItemsAdded += new CollectionItemsChangedEventHandler<DataRow>(SelectedRows_ItemsAdded);
+      Content.SelectedRows.ItemsRemoved += new CollectionItemsChangedEventHandler<DataRow>(SelectedRows_ItemsRemoved);
+      Content.SelectedRows.ItemsReplaced += new CollectionItemsChangedEventHandler<DataRow>(SelectedRows_ItemsReplaced);
+      Content.SelectedRows.CollectionReset += new CollectionItemsChangedEventHandler<DataRow>(SelectedRows_CollectionReset);
+    }
+
 
     protected virtual void RegisterDataRowEvents(DataRow row) {
@@ -141,11 +152,19 @@
       foreach (var row in rows) {
         if (row.VisualProperties.ChartType == DataRowVisualProperties.DataRowChartType.Line) {
-          //RegisterDataRowEvents(row);
           row.VisualProperties.IsVisibleInLegend = false;
-          var series = new Series(row.Name);
+
+          //add selected to name in order to avoid naming conflict
+          var series = new Series(row.Name+"(Selected)");
           ConfigureSeries(series, row);
           FillSeriesWithRowValues(series, row);
           chart.Series.Add(series);
         }
+      }
+    }
+
+    protected virtual void RemoveSelectedDataRows(IEnumerable<DataRow> rows) {
+      foreach (var row in rows) {
+        Series series = chart.Series[row.Name + "(Selected)"];
+        chart.Series.Remove(series);
       }
     }
@@ -307,4 +326,40 @@
     #endregion
     #region Rows Event Handlers
+
+    private void SelectedRows_CollectionReset(object sender, CollectionItemsChangedEventArgs<DataRow> e) {
+      if (InvokeRequired)
+        Invoke(new CollectionItemsChangedEventHandler<DataRow>(Rows_ItemsReplaced), sender, e);
+      else {
+        RemoveSelectedDataRows(e.OldItems);
+        AddSelectedDataRows(e.Items);
+      }
+    }
+
+    private void SelectedRows_ItemsReplaced(object sender, CollectionItemsChangedEventArgs<DataRow> e) {
+      if (InvokeRequired)
+        Invoke(new CollectionItemsChangedEventHandler<DataRow>(Rows_ItemsReplaced), sender, e);
+      else {
+        RemoveSelectedDataRows(e.OldItems);
+        AddSelectedDataRows(e.Items);
+      }
+    }
+
+    private void SelectedRows_ItemsRemoved(object sender, CollectionItemsChangedEventArgs<DataRow> e) {
+      if (InvokeRequired)
+        Invoke(new CollectionItemsChangedEventHandler<DataRow>(Rows_ItemsRemoved), sender, e);
+      else {
+        RemoveSelectedDataRows(e.Items);
+      }
+    }
+
+    private void SelectedRows_ItemsAdded(object sender, CollectionItemsChangedEventArgs<DataRow> e) {
+      if (InvokeRequired)
+        Invoke(new CollectionItemsChangedEventHandler<DataRow>(Rows_ItemsAdded), sender, e);
+      else {
+        AddSelectedDataRows(e.Items);
+      }
+    }
+
+
     private void Rows_ItemsAdded(object sender, CollectionItemsChangedEventArgs<DataRow> e) {
       if (InvokeRequired)
@@ -570,4 +625,5 @@
       }
 
+
       if (!row.VisualProperties.ExactBins) {
         intervalWidth = HumanRoundRange(intervalWidth);
