Index: branches/DataPreprocessing/HeuristicLab.DataPreprocessing.Views/3.3/DataPreprocessingView.cs
===================================================================
--- branches/DataPreprocessing/HeuristicLab.DataPreprocessing.Views/3.3/DataPreprocessingView.cs	(revision 10904)
+++ branches/DataPreprocessing/HeuristicLab.DataPreprocessing.Views/3.3/DataPreprocessingView.cs	(revision 10905)
@@ -58,5 +58,5 @@
           new FilterContent(filterLogic),
           new TransformationContent(data),
-          new ManipulationContent(manipulationLogic, searchLogic),
+          new ManipulationContent(manipulationLogic, searchLogic, dataGridLogic),
           new LineChartContent(chartLogic),
           new HistogramContent(chartLogic),
Index: branches/DataPreprocessing/HeuristicLab.DataPreprocessing.Views/3.3/ManipulationView.Designer.cs
===================================================================
--- branches/DataPreprocessing/HeuristicLab.DataPreprocessing.Views/3.3/ManipulationView.Designer.cs	(revision 10904)
+++ branches/DataPreprocessing/HeuristicLab.DataPreprocessing.Views/3.3/ManipulationView.Designer.cs	(revision 10905)
@@ -27,4 +27,27 @@
       this.btnApply = new System.Windows.Forms.Button();
       this.grpBoxData = new System.Windows.Forms.GroupBox();
+      this.tabsData = new System.Windows.Forms.TabControl();
+      this.tabPage1 = new System.Windows.Forms.TabPage();
+      this.label7 = new System.Windows.Forms.Label();
+      this.tabDataDeleteColumnsInformation = new System.Windows.Forms.TabPage();
+      this.label2 = new System.Windows.Forms.Label();
+      this.txtDeleteColumnsInfo = new System.Windows.Forms.TextBox();
+      this.label1 = new System.Windows.Forms.Label();
+      this.tabDataDeleteColumnsVariance = new System.Windows.Forms.TabPage();
+      this.txtDeleteColumnsVariance = new System.Windows.Forms.TextBox();
+      this.label4 = new System.Windows.Forms.Label();
+      this.tabDataDeleteRowsInfo = new System.Windows.Forms.TabPage();
+      this.label3 = new System.Windows.Forms.Label();
+      this.txtDeleteRowsInfo = new System.Windows.Forms.TextBox();
+      this.label5 = new System.Windows.Forms.Label();
+      this.tabReplaceMissingValues = new System.Windows.Forms.TabPage();
+      this.txtReplaceValue = new System.Windows.Forms.TextBox();
+      this.cmbVariableNames = new System.Windows.Forms.ComboBox();
+      this.cmbReplaceWith = new System.Windows.Forms.ComboBox();
+      this.lblValueColon = new System.Windows.Forms.Label();
+      this.label8 = new System.Windows.Forms.Label();
+      this.label10 = new System.Windows.Forms.Label();
+      this.tabDataShuffle = new System.Windows.Forms.TabPage();
+      this.label6 = new System.Windows.Forms.Label();
       this.grpBoxPreview = new System.Windows.Forms.GroupBox();
       this.tabsPreview = new System.Windows.Forms.TabControl();
@@ -42,26 +65,12 @@
       this.lblPreviewShuffle = new System.Windows.Forms.Label();
       this.label9 = new System.Windows.Forms.Label();
-      this.tabDataShuffle = new System.Windows.Forms.TabPage();
-      this.label6 = new System.Windows.Forms.Label();
-      this.tabReplaceMissingValues = new System.Windows.Forms.TabPage();
-      this.label10 = new System.Windows.Forms.Label();
-      this.lblValueColon = new System.Windows.Forms.Label();
-      this.cmbReplaceWith = new System.Windows.Forms.ComboBox();
-      this.txtReplaceValue = new System.Windows.Forms.TextBox();
-      this.tabDataDeleteRowsInfo = new System.Windows.Forms.TabPage();
-      this.label5 = new System.Windows.Forms.Label();
-      this.txtDeleteRowsInfo = new System.Windows.Forms.TextBox();
-      this.label3 = new System.Windows.Forms.Label();
-      this.tabDataDeleteColumnsVariance = new System.Windows.Forms.TabPage();
-      this.label4 = new System.Windows.Forms.Label();
-      this.txtDeleteColumnsVariance = new System.Windows.Forms.TextBox();
-      this.tabDataDeleteColumnsInformation = new System.Windows.Forms.TabPage();
-      this.label1 = new System.Windows.Forms.Label();
-      this.txtDeleteColumnsInfo = new System.Windows.Forms.TextBox();
-      this.label2 = new System.Windows.Forms.Label();
-      this.tabPage1 = new System.Windows.Forms.TabPage();
-      this.label7 = new System.Windows.Forms.Label();
-      this.tabsData = new System.Windows.Forms.TabControl();
       this.grpBoxData.SuspendLayout();
+      this.tabsData.SuspendLayout();
+      this.tabPage1.SuspendLayout();
+      this.tabDataDeleteColumnsInformation.SuspendLayout();
+      this.tabDataDeleteColumnsVariance.SuspendLayout();
+      this.tabDataDeleteRowsInfo.SuspendLayout();
+      this.tabReplaceMissingValues.SuspendLayout();
+      this.tabDataShuffle.SuspendLayout();
       this.grpBoxPreview.SuspendLayout();
       this.tabsPreview.SuspendLayout();
@@ -71,16 +80,9 @@
       this.tabPreviewReplaceMissingValues.SuspendLayout();
       this.tabPreviewShuffle.SuspendLayout();
-      this.tabDataShuffle.SuspendLayout();
-      this.tabReplaceMissingValues.SuspendLayout();
-      this.tabDataDeleteRowsInfo.SuspendLayout();
-      this.tabDataDeleteColumnsVariance.SuspendLayout();
-      this.tabDataDeleteColumnsInformation.SuspendLayout();
-      this.tabPage1.SuspendLayout();
-      this.tabsData.SuspendLayout();
       this.SuspendLayout();
       // 
       // lstMethods
       // 
-      this.lstMethods.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) 
+      this.lstMethods.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
             | System.Windows.Forms.AnchorStyles.Right)));
       this.lstMethods.FormattingEnabled = true;
@@ -112,5 +114,5 @@
       // grpBoxData
       // 
-      this.grpBoxData.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) 
+      this.grpBoxData.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
             | System.Windows.Forms.AnchorStyles.Right)));
       this.grpBoxData.Controls.Add(this.tabsData);
@@ -122,8 +124,251 @@
       this.grpBoxData.Text = "Properties";
       // 
+      // tabsData
+      // 
+      this.tabsData.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
+            | System.Windows.Forms.AnchorStyles.Right)));
+      this.tabsData.Controls.Add(this.tabPage1);
+      this.tabsData.Controls.Add(this.tabDataDeleteColumnsInformation);
+      this.tabsData.Controls.Add(this.tabDataDeleteColumnsVariance);
+      this.tabsData.Controls.Add(this.tabDataDeleteRowsInfo);
+      this.tabsData.Controls.Add(this.tabReplaceMissingValues);
+      this.tabsData.Controls.Add(this.tabDataShuffle);
+      this.tabsData.ItemSize = new System.Drawing.Size(58, 18);
+      this.tabsData.Location = new System.Drawing.Point(6, 19);
+      this.tabsData.Name = "tabsData";
+      this.tabsData.SelectedIndex = 0;
+      this.tabsData.Size = new System.Drawing.Size(719, 164);
+      this.tabsData.TabIndex = 3;
+      // 
+      // tabPage1
+      // 
+      this.tabPage1.Controls.Add(this.label7);
+      this.tabPage1.Location = new System.Drawing.Point(4, 22);
+      this.tabPage1.Name = "tabPage1";
+      this.tabPage1.Padding = new System.Windows.Forms.Padding(3);
+      this.tabPage1.Size = new System.Drawing.Size(711, 138);
+      this.tabPage1.TabIndex = 5;
+      this.tabPage1.Text = "tabDataInactive";
+      this.tabPage1.UseVisualStyleBackColor = true;
+      // 
+      // label7
+      // 
+      this.label7.AutoSize = true;
+      this.label7.Enabled = false;
+      this.label7.Location = new System.Drawing.Point(3, 3);
+      this.label7.Name = "label7";
+      this.label7.Size = new System.Drawing.Size(259, 13);
+      this.label7.TabIndex = 1;
+      this.label7.Text = "Please select one of the manipulation methods above";
+      // 
+      // tabDataDeleteColumnsInformation
+      // 
+      this.tabDataDeleteColumnsInformation.Controls.Add(this.label2);
+      this.tabDataDeleteColumnsInformation.Controls.Add(this.txtDeleteColumnsInfo);
+      this.tabDataDeleteColumnsInformation.Controls.Add(this.label1);
+      this.tabDataDeleteColumnsInformation.Location = new System.Drawing.Point(4, 22);
+      this.tabDataDeleteColumnsInformation.Name = "tabDataDeleteColumnsInformation";
+      this.tabDataDeleteColumnsInformation.Padding = new System.Windows.Forms.Padding(3);
+      this.tabDataDeleteColumnsInformation.Size = new System.Drawing.Size(711, 138);
+      this.tabDataDeleteColumnsInformation.TabIndex = 0;
+      this.tabDataDeleteColumnsInformation.Text = "del columns info";
+      this.tabDataDeleteColumnsInformation.UseVisualStyleBackColor = true;
+      // 
+      // label2
+      // 
+      this.label2.AutoSize = true;
+      this.label2.Location = new System.Drawing.Point(204, 3);
+      this.label2.Name = "label2";
+      this.label2.Size = new System.Drawing.Size(89, 13);
+      this.label2.TabIndex = 5;
+      this.label2.Text = "% missing values.";
+      // 
+      // txtDeleteColumnsInfo
+      // 
+      this.txtDeleteColumnsInfo.Location = new System.Drawing.Point(164, 0);
+      this.txtDeleteColumnsInfo.Name = "txtDeleteColumnsInfo";
+      this.txtDeleteColumnsInfo.Size = new System.Drawing.Size(34, 20);
+      this.txtDeleteColumnsInfo.TabIndex = 4;
+      this.txtDeleteColumnsInfo.TextChanged += new System.EventHandler(this.txtDeleteColumnsInfo_TextChanged);
+      // 
+      // label1
+      // 
+      this.label1.AutoSize = true;
+      this.label1.Location = new System.Drawing.Point(3, 3);
+      this.label1.Name = "label1";
+      this.label1.Size = new System.Drawing.Size(155, 13);
+      this.label1.TabIndex = 3;
+      this.label1.Text = "Delete columns with more than ";
+      // 
+      // tabDataDeleteColumnsVariance
+      // 
+      this.tabDataDeleteColumnsVariance.Controls.Add(this.txtDeleteColumnsVariance);
+      this.tabDataDeleteColumnsVariance.Controls.Add(this.label4);
+      this.tabDataDeleteColumnsVariance.Location = new System.Drawing.Point(4, 22);
+      this.tabDataDeleteColumnsVariance.Name = "tabDataDeleteColumnsVariance";
+      this.tabDataDeleteColumnsVariance.Padding = new System.Windows.Forms.Padding(3);
+      this.tabDataDeleteColumnsVariance.Size = new System.Drawing.Size(711, 138);
+      this.tabDataDeleteColumnsVariance.TabIndex = 1;
+      this.tabDataDeleteColumnsVariance.Text = "del columns variance";
+      this.tabDataDeleteColumnsVariance.UseVisualStyleBackColor = true;
+      // 
+      // txtDeleteColumnsVariance
+      // 
+      this.txtDeleteColumnsVariance.Location = new System.Drawing.Point(229, 0);
+      this.txtDeleteColumnsVariance.Name = "txtDeleteColumnsVariance";
+      this.txtDeleteColumnsVariance.Size = new System.Drawing.Size(135, 20);
+      this.txtDeleteColumnsVariance.TabIndex = 4;
+      this.txtDeleteColumnsVariance.TextChanged += new System.EventHandler(this.txtDeleteColumnsVariance_TextChanged);
+      // 
+      // label4
+      // 
+      this.label4.AutoSize = true;
+      this.label4.Location = new System.Drawing.Point(3, 3);
+      this.label4.Name = "label4";
+      this.label4.Size = new System.Drawing.Size(220, 13);
+      this.label4.TabIndex = 3;
+      this.label4.Text = "Delete columns with a variance smaller than  ";
+      // 
+      // tabDataDeleteRowsInfo
+      // 
+      this.tabDataDeleteRowsInfo.Controls.Add(this.label3);
+      this.tabDataDeleteRowsInfo.Controls.Add(this.txtDeleteRowsInfo);
+      this.tabDataDeleteRowsInfo.Controls.Add(this.label5);
+      this.tabDataDeleteRowsInfo.Location = new System.Drawing.Point(4, 22);
+      this.tabDataDeleteRowsInfo.Name = "tabDataDeleteRowsInfo";
+      this.tabDataDeleteRowsInfo.Padding = new System.Windows.Forms.Padding(3);
+      this.tabDataDeleteRowsInfo.Size = new System.Drawing.Size(711, 138);
+      this.tabDataDeleteRowsInfo.TabIndex = 2;
+      this.tabDataDeleteRowsInfo.Text = "del rows info";
+      this.tabDataDeleteRowsInfo.UseVisualStyleBackColor = true;
+      // 
+      // label3
+      // 
+      this.label3.AutoSize = true;
+      this.label3.Location = new System.Drawing.Point(189, 3);
+      this.label3.Name = "label3";
+      this.label3.Size = new System.Drawing.Size(89, 13);
+      this.label3.TabIndex = 8;
+      this.label3.Text = "% missing values.";
+      // 
+      // txtDeleteRowsInfo
+      // 
+      this.txtDeleteRowsInfo.Location = new System.Drawing.Point(147, 0);
+      this.txtDeleteRowsInfo.Name = "txtDeleteRowsInfo";
+      this.txtDeleteRowsInfo.Size = new System.Drawing.Size(34, 20);
+      this.txtDeleteRowsInfo.TabIndex = 7;
+      this.txtDeleteRowsInfo.TextChanged += new System.EventHandler(this.txtDeleteRowsInfo_TextChanged);
+      // 
+      // label5
+      // 
+      this.label5.AutoSize = true;
+      this.label5.Location = new System.Drawing.Point(3, 3);
+      this.label5.Name = "label5";
+      this.label5.Size = new System.Drawing.Size(138, 13);
+      this.label5.TabIndex = 6;
+      this.label5.Text = "Delete rows with more than ";
+      // 
+      // tabReplaceMissingValues
+      // 
+      this.tabReplaceMissingValues.Controls.Add(this.txtReplaceValue);
+      this.tabReplaceMissingValues.Controls.Add(this.cmbVariableNames);
+      this.tabReplaceMissingValues.Controls.Add(this.cmbReplaceWith);
+      this.tabReplaceMissingValues.Controls.Add(this.lblValueColon);
+      this.tabReplaceMissingValues.Controls.Add(this.label8);
+      this.tabReplaceMissingValues.Controls.Add(this.label10);
+      this.tabReplaceMissingValues.Location = new System.Drawing.Point(4, 22);
+      this.tabReplaceMissingValues.Name = "tabReplaceMissingValues";
+      this.tabReplaceMissingValues.Padding = new System.Windows.Forms.Padding(3);
+      this.tabReplaceMissingValues.Size = new System.Drawing.Size(711, 138);
+      this.tabReplaceMissingValues.TabIndex = 6;
+      this.tabReplaceMissingValues.Text = "repl missing vals";
+      this.tabReplaceMissingValues.UseVisualStyleBackColor = true;
+      // 
+      // txtReplaceValue
+      // 
+      this.txtReplaceValue.Location = new System.Drawing.Point(173, 27);
+      this.txtReplaceValue.Name = "txtReplaceValue";
+      this.txtReplaceValue.Size = new System.Drawing.Size(100, 20);
+      this.txtReplaceValue.TabIndex = 2;
+      this.txtReplaceValue.TextChanged += new System.EventHandler(this.txtReplaceValue_TextChanged);
+      // 
+      // cmbVariableNames
+      // 
+      this.cmbVariableNames.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
+      this.cmbVariableNames.FormattingEnabled = true;
+      this.cmbVariableNames.Location = new System.Drawing.Point(142, 0);
+      this.cmbVariableNames.Name = "cmbVariableNames";
+      this.cmbVariableNames.Size = new System.Drawing.Size(121, 21);
+      this.cmbVariableNames.TabIndex = 1;
+      this.cmbVariableNames.SelectedIndexChanged += new System.EventHandler(this.cmbReplaceWith_SelectedIndexChanged);
+      // 
+      // cmbReplaceWith
+      // 
+      this.cmbReplaceWith.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
+      this.cmbReplaceWith.FormattingEnabled = true;
+      this.cmbReplaceWith.Items.AddRange(new object[] {
+            "Value",
+            "Average",
+            "Median",
+            "Most Common",
+            "Random"});
+      this.cmbReplaceWith.Location = new System.Drawing.Point(35, 27);
+      this.cmbReplaceWith.Name = "cmbReplaceWith";
+      this.cmbReplaceWith.Size = new System.Drawing.Size(121, 21);
+      this.cmbReplaceWith.TabIndex = 1;
+      this.cmbReplaceWith.SelectedIndexChanged += new System.EventHandler(this.cmbReplaceWith_SelectedIndexChanged);
+      // 
+      // lblValueColon
+      // 
+      this.lblValueColon.AutoSize = true;
+      this.lblValueColon.Location = new System.Drawing.Point(157, 30);
+      this.lblValueColon.Name = "lblValueColon";
+      this.lblValueColon.Size = new System.Drawing.Size(10, 13);
+      this.lblValueColon.TabIndex = 0;
+      this.lblValueColon.Text = ":";
+      // 
+      // label8
+      // 
+      this.label8.AutoSize = true;
+      this.label8.Location = new System.Drawing.Point(3, 30);
+      this.label8.Name = "label8";
+      this.label8.Size = new System.Drawing.Size(26, 13);
+      this.label8.TabIndex = 0;
+      this.label8.Text = "with";
+      // 
+      // label10
+      // 
+      this.label10.AutoSize = true;
+      this.label10.Location = new System.Drawing.Point(3, 3);
+      this.label10.Name = "label10";
+      this.label10.Size = new System.Drawing.Size(133, 13);
+      this.label10.TabIndex = 0;
+      this.label10.Text = "Replace missing values for";
+      // 
+      // tabDataShuffle
+      // 
+      this.tabDataShuffle.Controls.Add(this.label6);
+      this.tabDataShuffle.Location = new System.Drawing.Point(4, 22);
+      this.tabDataShuffle.Name = "tabDataShuffle";
+      this.tabDataShuffle.Padding = new System.Windows.Forms.Padding(3);
+      this.tabDataShuffle.Size = new System.Drawing.Size(711, 138);
+      this.tabDataShuffle.TabIndex = 4;
+      this.tabDataShuffle.Text = "shuffle";
+      this.tabDataShuffle.UseVisualStyleBackColor = true;
+      // 
+      // label6
+      // 
+      this.label6.AutoSize = true;
+      this.label6.Enabled = false;
+      this.label6.Location = new System.Drawing.Point(3, 3);
+      this.label6.Name = "label6";
+      this.label6.Size = new System.Drawing.Size(115, 13);
+      this.label6.TabIndex = 0;
+      this.label6.Text = "No properties available";
+      // 
       // grpBoxPreview
       // 
-      this.grpBoxPreview.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) 
-            | System.Windows.Forms.AnchorStyles.Left) 
+      this.grpBoxPreview.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
+            | System.Windows.Forms.AnchorStyles.Left)
             | System.Windows.Forms.AnchorStyles.Right)));
       this.grpBoxPreview.Controls.Add(this.tabsPreview);
@@ -137,5 +382,5 @@
       // tabsPreview
       // 
-      this.tabsPreview.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) 
+      this.tabsPreview.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
             | System.Windows.Forms.AnchorStyles.Right)));
       this.tabsPreview.Controls.Add(this.tabPreviewInactive);
@@ -278,226 +523,4 @@
       this.label9.TabIndex = 0;
       // 
-      // tabDataShuffle
-      // 
-      this.tabDataShuffle.Controls.Add(this.label6);
-      this.tabDataShuffle.Location = new System.Drawing.Point(4, 22);
-      this.tabDataShuffle.Name = "tabDataShuffle";
-      this.tabDataShuffle.Padding = new System.Windows.Forms.Padding(3);
-      this.tabDataShuffle.Size = new System.Drawing.Size(711, 138);
-      this.tabDataShuffle.TabIndex = 4;
-      this.tabDataShuffle.Text = "shuffle";
-      this.tabDataShuffle.UseVisualStyleBackColor = true;
-      // 
-      // label6
-      // 
-      this.label6.AutoSize = true;
-      this.label6.Enabled = false;
-      this.label6.Location = new System.Drawing.Point(3, 3);
-      this.label6.Name = "label6";
-      this.label6.Size = new System.Drawing.Size(115, 13);
-      this.label6.TabIndex = 0;
-      this.label6.Text = "No properties available";
-      // 
-      // tabReplaceMissingValues
-      // 
-      this.tabReplaceMissingValues.Controls.Add(this.txtReplaceValue);
-      this.tabReplaceMissingValues.Controls.Add(this.cmbReplaceWith);
-      this.tabReplaceMissingValues.Controls.Add(this.lblValueColon);
-      this.tabReplaceMissingValues.Controls.Add(this.label10);
-      this.tabReplaceMissingValues.Location = new System.Drawing.Point(4, 22);
-      this.tabReplaceMissingValues.Name = "tabReplaceMissingValues";
-      this.tabReplaceMissingValues.Padding = new System.Windows.Forms.Padding(3);
-      this.tabReplaceMissingValues.Size = new System.Drawing.Size(711, 138);
-      this.tabReplaceMissingValues.TabIndex = 6;
-      this.tabReplaceMissingValues.Text = "repl missing vals";
-      this.tabReplaceMissingValues.UseVisualStyleBackColor = true;
-      // 
-      // label10
-      // 
-      this.label10.AutoSize = true;
-      this.label10.Location = new System.Drawing.Point(3, 3);
-      this.label10.Name = "label10";
-      this.label10.Size = new System.Drawing.Size(140, 13);
-      this.label10.TabIndex = 0;
-      this.label10.Text = "Replace missing values with";
-      // 
-      // lblValueColon
-      // 
-      this.lblValueColon.AutoSize = true;
-      this.lblValueColon.Location = new System.Drawing.Point(271, 3);
-      this.lblValueColon.Name = "lblValueColon";
-      this.lblValueColon.Size = new System.Drawing.Size(10, 13);
-      this.lblValueColon.TabIndex = 0;
-      this.lblValueColon.Text = ":";
-      // 
-      // cmbReplaceWith
-      // 
-      this.cmbReplaceWith.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
-      this.cmbReplaceWith.FormattingEnabled = true;
-      this.cmbReplaceWith.Items.AddRange(new object[] {
-            "Value",
-            "Average",
-            "Median",
-            "Most Common",
-            "Random"});
-      this.cmbReplaceWith.Location = new System.Drawing.Point(149, 0);
-      this.cmbReplaceWith.Name = "cmbReplaceWith";
-      this.cmbReplaceWith.Size = new System.Drawing.Size(121, 21);
-      this.cmbReplaceWith.TabIndex = 1;
-      this.cmbReplaceWith.SelectedIndexChanged += new System.EventHandler(this.cmbReplaceWith_SelectedIndexChanged);
-      // 
-      // txtReplaceValue
-      // 
-      this.txtReplaceValue.Location = new System.Drawing.Point(287, 0);
-      this.txtReplaceValue.Name = "txtReplaceValue";
-      this.txtReplaceValue.Size = new System.Drawing.Size(100, 20);
-      this.txtReplaceValue.TabIndex = 2;
-      this.txtReplaceValue.TextChanged += new System.EventHandler(this.txtReplaceValue_TextChanged);
-      // 
-      // tabDataDeleteRowsInfo
-      // 
-      this.tabDataDeleteRowsInfo.Controls.Add(this.label3);
-      this.tabDataDeleteRowsInfo.Controls.Add(this.txtDeleteRowsInfo);
-      this.tabDataDeleteRowsInfo.Controls.Add(this.label5);
-      this.tabDataDeleteRowsInfo.Location = new System.Drawing.Point(4, 22);
-      this.tabDataDeleteRowsInfo.Name = "tabDataDeleteRowsInfo";
-      this.tabDataDeleteRowsInfo.Padding = new System.Windows.Forms.Padding(3);
-      this.tabDataDeleteRowsInfo.Size = new System.Drawing.Size(711, 138);
-      this.tabDataDeleteRowsInfo.TabIndex = 2;
-      this.tabDataDeleteRowsInfo.Text = "del rows info";
-      this.tabDataDeleteRowsInfo.UseVisualStyleBackColor = true;
-      // 
-      // label5
-      // 
-      this.label5.AutoSize = true;
-      this.label5.Location = new System.Drawing.Point(3, 3);
-      this.label5.Name = "label5";
-      this.label5.Size = new System.Drawing.Size(138, 13);
-      this.label5.TabIndex = 6;
-      this.label5.Text = "Delete rows with more than ";
-      // 
-      // txtDeleteRowsInfo
-      // 
-      this.txtDeleteRowsInfo.Location = new System.Drawing.Point(147, 0);
-      this.txtDeleteRowsInfo.Name = "txtDeleteRowsInfo";
-      this.txtDeleteRowsInfo.Size = new System.Drawing.Size(34, 20);
-      this.txtDeleteRowsInfo.TabIndex = 7;
-      this.txtDeleteRowsInfo.TextChanged += new System.EventHandler(this.txtDeleteRowsInfo_TextChanged);
-      // 
-      // label3
-      // 
-      this.label3.AutoSize = true;
-      this.label3.Location = new System.Drawing.Point(189, 3);
-      this.label3.Name = "label3";
-      this.label3.Size = new System.Drawing.Size(89, 13);
-      this.label3.TabIndex = 8;
-      this.label3.Text = "% missing values.";
-      // 
-      // tabDataDeleteColumnsVariance
-      // 
-      this.tabDataDeleteColumnsVariance.Controls.Add(this.txtDeleteColumnsVariance);
-      this.tabDataDeleteColumnsVariance.Controls.Add(this.label4);
-      this.tabDataDeleteColumnsVariance.Location = new System.Drawing.Point(4, 22);
-      this.tabDataDeleteColumnsVariance.Name = "tabDataDeleteColumnsVariance";
-      this.tabDataDeleteColumnsVariance.Padding = new System.Windows.Forms.Padding(3);
-      this.tabDataDeleteColumnsVariance.Size = new System.Drawing.Size(711, 138);
-      this.tabDataDeleteColumnsVariance.TabIndex = 1;
-      this.tabDataDeleteColumnsVariance.Text = "del columns variance";
-      this.tabDataDeleteColumnsVariance.UseVisualStyleBackColor = true;
-      // 
-      // label4
-      // 
-      this.label4.AutoSize = true;
-      this.label4.Location = new System.Drawing.Point(3, 3);
-      this.label4.Name = "label4";
-      this.label4.Size = new System.Drawing.Size(220, 13);
-      this.label4.TabIndex = 3;
-      this.label4.Text = "Delete columns with a variance smaller than  ";
-      // 
-      // txtDeleteColumnsVariance
-      // 
-      this.txtDeleteColumnsVariance.Location = new System.Drawing.Point(229, 0);
-      this.txtDeleteColumnsVariance.Name = "txtDeleteColumnsVariance";
-      this.txtDeleteColumnsVariance.Size = new System.Drawing.Size(135, 20);
-      this.txtDeleteColumnsVariance.TabIndex = 4;
-      this.txtDeleteColumnsVariance.TextChanged += new System.EventHandler(this.txtDeleteColumnsVariance_TextChanged);
-      // 
-      // tabDataDeleteColumnsInformation
-      // 
-      this.tabDataDeleteColumnsInformation.Controls.Add(this.label2);
-      this.tabDataDeleteColumnsInformation.Controls.Add(this.txtDeleteColumnsInfo);
-      this.tabDataDeleteColumnsInformation.Controls.Add(this.label1);
-      this.tabDataDeleteColumnsInformation.Location = new System.Drawing.Point(4, 22);
-      this.tabDataDeleteColumnsInformation.Name = "tabDataDeleteColumnsInformation";
-      this.tabDataDeleteColumnsInformation.Padding = new System.Windows.Forms.Padding(3);
-      this.tabDataDeleteColumnsInformation.Size = new System.Drawing.Size(711, 138);
-      this.tabDataDeleteColumnsInformation.TabIndex = 0;
-      this.tabDataDeleteColumnsInformation.Text = "del columns info";
-      this.tabDataDeleteColumnsInformation.UseVisualStyleBackColor = true;
-      // 
-      // label1
-      // 
-      this.label1.AutoSize = true;
-      this.label1.Location = new System.Drawing.Point(3, 3);
-      this.label1.Name = "label1";
-      this.label1.Size = new System.Drawing.Size(155, 13);
-      this.label1.TabIndex = 3;
-      this.label1.Text = "Delete columns with more than ";
-      // 
-      // txtDeleteColumnsInfo
-      // 
-      this.txtDeleteColumnsInfo.Location = new System.Drawing.Point(164, 0);
-      this.txtDeleteColumnsInfo.Name = "txtDeleteColumnsInfo";
-      this.txtDeleteColumnsInfo.Size = new System.Drawing.Size(34, 20);
-      this.txtDeleteColumnsInfo.TabIndex = 4;
-      this.txtDeleteColumnsInfo.TextChanged += new System.EventHandler(this.txtDeleteColumnsInfo_TextChanged);
-      // 
-      // label2
-      // 
-      this.label2.AutoSize = true;
-      this.label2.Location = new System.Drawing.Point(204, 3);
-      this.label2.Name = "label2";
-      this.label2.Size = new System.Drawing.Size(89, 13);
-      this.label2.TabIndex = 5;
-      this.label2.Text = "% missing values.";
-      // 
-      // tabPage1
-      // 
-      this.tabPage1.Controls.Add(this.label7);
-      this.tabPage1.Location = new System.Drawing.Point(4, 22);
-      this.tabPage1.Name = "tabPage1";
-      this.tabPage1.Padding = new System.Windows.Forms.Padding(3);
-      this.tabPage1.Size = new System.Drawing.Size(711, 138);
-      this.tabPage1.TabIndex = 5;
-      this.tabPage1.Text = "tabDataInactive";
-      this.tabPage1.UseVisualStyleBackColor = true;
-      // 
-      // label7
-      // 
-      this.label7.AutoSize = true;
-      this.label7.Enabled = false;
-      this.label7.Location = new System.Drawing.Point(3, 3);
-      this.label7.Name = "label7";
-      this.label7.Size = new System.Drawing.Size(259, 13);
-      this.label7.TabIndex = 1;
-      this.label7.Text = "Please select one of the manipulation methods above";
-      // 
-      // tabsData
-      // 
-      this.tabsData.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) 
-            | System.Windows.Forms.AnchorStyles.Right)));
-      this.tabsData.Controls.Add(this.tabPage1);
-      this.tabsData.Controls.Add(this.tabDataDeleteColumnsInformation);
-      this.tabsData.Controls.Add(this.tabDataDeleteColumnsVariance);
-      this.tabsData.Controls.Add(this.tabDataDeleteRowsInfo);
-      this.tabsData.Controls.Add(this.tabReplaceMissingValues);
-      this.tabsData.Controls.Add(this.tabDataShuffle);
-      this.tabsData.ItemSize = new System.Drawing.Size(58, 18);
-      this.tabsData.Location = new System.Drawing.Point(6, 19);
-      this.tabsData.Name = "tabsData";
-      this.tabsData.SelectedIndex = 0;
-      this.tabsData.Size = new System.Drawing.Size(719, 164);
-      this.tabsData.TabIndex = 3;
-      // 
       // ManipulationView
       // 
@@ -511,4 +534,17 @@
       this.Size = new System.Drawing.Size(739, 529);
       this.grpBoxData.ResumeLayout(false);
+      this.tabsData.ResumeLayout(false);
+      this.tabPage1.ResumeLayout(false);
+      this.tabPage1.PerformLayout();
+      this.tabDataDeleteColumnsInformation.ResumeLayout(false);
+      this.tabDataDeleteColumnsInformation.PerformLayout();
+      this.tabDataDeleteColumnsVariance.ResumeLayout(false);
+      this.tabDataDeleteColumnsVariance.PerformLayout();
+      this.tabDataDeleteRowsInfo.ResumeLayout(false);
+      this.tabDataDeleteRowsInfo.PerformLayout();
+      this.tabReplaceMissingValues.ResumeLayout(false);
+      this.tabReplaceMissingValues.PerformLayout();
+      this.tabDataShuffle.ResumeLayout(false);
+      this.tabDataShuffle.PerformLayout();
       this.grpBoxPreview.ResumeLayout(false);
       this.tabsPreview.ResumeLayout(false);
@@ -523,17 +559,4 @@
       this.tabPreviewShuffle.ResumeLayout(false);
       this.tabPreviewShuffle.PerformLayout();
-      this.tabDataShuffle.ResumeLayout(false);
-      this.tabDataShuffle.PerformLayout();
-      this.tabReplaceMissingValues.ResumeLayout(false);
-      this.tabReplaceMissingValues.PerformLayout();
-      this.tabDataDeleteRowsInfo.ResumeLayout(false);
-      this.tabDataDeleteRowsInfo.PerformLayout();
-      this.tabDataDeleteColumnsVariance.ResumeLayout(false);
-      this.tabDataDeleteColumnsVariance.PerformLayout();
-      this.tabDataDeleteColumnsInformation.ResumeLayout(false);
-      this.tabDataDeleteColumnsInformation.PerformLayout();
-      this.tabPage1.ResumeLayout(false);
-      this.tabPage1.PerformLayout();
-      this.tabsData.ResumeLayout(false);
       this.ResumeLayout(false);
 
@@ -581,4 +604,6 @@
     private System.Windows.Forms.TabPage tabDataShuffle;
     private System.Windows.Forms.Label label6;
+    private System.Windows.Forms.ComboBox cmbVariableNames;
+    private System.Windows.Forms.Label label8;
   }
 }
Index: branches/DataPreprocessing/HeuristicLab.DataPreprocessing.Views/3.3/ManipulationView.cs
===================================================================
--- branches/DataPreprocessing/HeuristicLab.DataPreprocessing.Views/3.3/ManipulationView.cs	(revision 10904)
+++ branches/DataPreprocessing/HeuristicLab.DataPreprocessing.Views/3.3/ManipulationView.cs	(revision 10905)
@@ -21,4 +21,5 @@
 
 using System;
+using System.Collections.Generic;
 using System.Drawing;
 using System.Windows.Forms;
@@ -60,4 +61,16 @@
         ()=>Content.ManipulationLogic.ShuffleWithRanges()
       };
+
+    }
+
+    protected override void OnContentChanged() {
+      base.OnContentChanged();
+      if (Content != null) {
+        cmbVariableNames.Items.Clear();
+        foreach (var name in Content.DataGridLogic.ColumnNames) {
+          cmbVariableNames.Items.Add(name);
+        }
+        cmbVariableNames.SelectedIndex = 0;
+      }
     }
 
@@ -85,20 +98,25 @@
 
     private void replaceMissingValues() {
-      var cells = Content.SearchLogic.GetMissingValueIndices();
-      switch (cmbReplaceWith.SelectedIndex) { 
+      var allIndices = Content.SearchLogic.GetMissingValueIndices();
+      var columnIndex = cmbVariableNames.SelectedIndex;
+      var columnIndices = new Dictionary<int, IList<int>>{
+          {columnIndex,   allIndices[columnIndex]}
+      };
+
+      switch (cmbReplaceWith.SelectedIndex) {
         case 0: //Value
-          Content.ManipulationLogic.ReplaceIndicesByValue(cells, txtReplaceValue.Text);
+          Content.ManipulationLogic.ReplaceIndicesByValue(columnIndices, txtReplaceValue.Text);
           break;
         case 1: //Average
-          Content.ManipulationLogic.ReplaceIndicesByAverageValue(cells);
+          Content.ManipulationLogic.ReplaceIndicesByAverageValue(columnIndices);
           break;
         case 2: //Median
-          Content.ManipulationLogic.ReplaceIndicesByMedianValue(cells);
+          Content.ManipulationLogic.ReplaceIndicesByMedianValue(columnIndices);
           break;
         case 3: //Most Common
-          Content.ManipulationLogic.ReplaceIndicesByMostCommonValue(cells);
+          Content.ManipulationLogic.ReplaceIndicesByMostCommonValue(columnIndices);
           break;
         case 4: //Random
-          Content.ManipulationLogic.ReplaceIndicesByRandomValue(cells);
+          Content.ManipulationLogic.ReplaceIndicesByRandomValue(columnIndices);
           break;
       }
@@ -152,15 +170,26 @@
     private void validateReplaceWith() {
       btnApply.Enabled = false;
-      string replaceValue = cmbReplaceWith.SelectedText;
+      string replaceWith = (string)cmbReplaceWith.SelectedItem;
+      int columnIndex = cmbVariableNames.SelectedIndex;
+
       if (cmbReplaceWith.SelectedIndex == 0) {
-        btnApply.Enabled = !string.IsNullOrEmpty(txtReplaceValue.Text);
-        replaceValue = @"\"+ txtReplaceValue.Text + @"\";
+        string errorMessage;
+        string replaceValue = txtReplaceValue.Text;
+        if (string.IsNullOrEmpty(replaceValue)) {
+          lblPreviewReplaceMissingValues.Text = "Preview not possible yet - please input the text which will be used as replacement.";
+        } else if (!Content.DataGridLogic.Validate(txtReplaceValue.Text, out errorMessage, columnIndex)) {
+          lblPreviewReplaceMissingValues.Text = "Preview not possible yet - " + errorMessage;
+        } else {
+          btnApply.Enabled = true;
+        }
+        replaceWith = "\"" + replaceValue + "\"";
       } else {
         btnApply.Enabled = true;
       }
       if (btnApply.Enabled) {
-        int count = Content.SearchLogic.GetMissingValueIndices().Count;
-        lblPreviewReplaceMissingValues.Text = count + " cell" + (count > 1 || count == 0 ? "s" : "") 
-          + " were detected with missing values which would be replaced with " + replaceValue;
+        var allIndices = Content.SearchLogic.GetMissingValueIndices();
+        int count = allIndices[columnIndex].Count;
+        lblPreviewReplaceMissingValues.Text = count + " cell" + (count > 1 || count == 0 ? "s" : "")
+          + " were detected with missing values which would be replaced with " + replaceWith;
         if (count > 0) {
           lblPreviewReplaceMissingValues.Text += Environment.NewLine + Environment.NewLine + "Please press the button \"Apply Manipulation\" if you wish to perform the replacement.";
@@ -168,6 +197,4 @@
           btnApply.Enabled = false;
         }
-      } else {
-        lblPreviewReplaceMissingValues.Text = "Preview not possible yet - please input the text which will be used as replacement.";
       }
     }
@@ -203,4 +230,8 @@
           break;
         case 3:
+          lblPreviewReplaceMissingValues.Text = "missing values successfully replaced.";
+          btnApply.Enabled = false;
+          break;
+        case 4:
           lblPreviewShuffle.Text = "dataset shuffled successfully.";
           btnApply.Enabled = false;
@@ -232,5 +263,5 @@
 
     void Content_Changed(object sender, DataPreprocessingChangedEventArgs e) {
-      switch(lstMethods.SelectedIndex){
+      switch (lstMethods.SelectedIndex) {
         case 0:
           validateDeleteColumnsInfo();
