Index: trunk/sources/HeuristicLab.DataPreprocessing.Views/3.4/DataGridContentView.Designer.cs
===================================================================
--- trunk/sources/HeuristicLab.DataPreprocessing.Views/3.4/DataGridContentView.Designer.cs	(revision 12983)
+++ trunk/sources/HeuristicLab.DataPreprocessing.Views/3.4/DataGridContentView.Designer.cs	(revision 12986)
@@ -63,4 +63,6 @@
       this.btnReplace = new System.Windows.Forms.Button();
       this.toolTip = new System.Windows.Forms.ToolTip(this.components);
+      this.addLineButton = new System.Windows.Forms.Button();
+      this.addColumnButton = new System.Windows.Forms.Button();
       ((System.ComponentModel.ISupportInitialize)(this.errorProvider)).BeginInit();
       this.contextMenuCell.SuspendLayout();
@@ -70,8 +72,6 @@
       // 
       this.rowsTextBox.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)));
-      this.rowsTextBox.Enabled = false;
       this.errorProvider.SetIconAlignment(this.rowsTextBox, System.Windows.Forms.ErrorIconAlignment.MiddleLeft);
       this.errorProvider.SetIconPadding(this.rowsTextBox, 2);
-      this.rowsTextBox.ReadOnly = true;
       this.rowsTextBox.Size = new System.Drawing.Size(71, 20);
       // 
@@ -79,17 +79,11 @@
       // 
       this.columnsTextBox.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)));
-      this.columnsTextBox.Enabled = false;
-      this.columnsTextBox.ReadOnly = true;
       this.columnsTextBox.Size = new System.Drawing.Size(71, 20);
       // 
-      // statisticsTextBox
-      // 
-      this.statisticsTextBox.Size = new System.Drawing.Size(522, 13);
-      // 
       // btnApplySort
       // 
-      this.btnApplySort.Location = new System.Drawing.Point(349, 19);
+      this.btnApplySort.Location = new System.Drawing.Point(320, -1);
       this.btnApplySort.Name = "btnApplySort";
-      this.btnApplySort.Size = new System.Drawing.Size(75, 23);
+      this.btnApplySort.Size = new System.Drawing.Size(87, 23);
       this.btnApplySort.TabIndex = 7;
       this.btnApplySort.Text = "Apply Sort";
@@ -104,5 +98,5 @@
             this.replaceValueOverSelectionToolStripMenuItem});
       this.contextMenuCell.Name = "contextMenuCell";
-      this.contextMenuCell.Size = new System.Drawing.Size(225, 70);
+      this.contextMenuCell.Size = new System.Drawing.Size(225, 48);
       // 
       // replaceValueOverColumnToolStripMenuItem
@@ -154,7 +148,7 @@
       this.interpolationToolStripMenuItem_Column.Click += new System.EventHandler(this.ReplaceWithInterpolation_Column_Click);
       // 
-      // smoothingToolStripMenuItem
-      // 
-      this.smoothingToolStripMenuItem_Column.Name = "smoothingToolStripMenuItem";
+      // smoothingToolStripMenuItem_Column
+      // 
+      this.smoothingToolStripMenuItem_Column.Name = "smoothingToolStripMenuItem_Column";
       this.smoothingToolStripMenuItem_Column.Size = new System.Drawing.Size(155, 22);
       this.smoothingToolStripMenuItem_Column.Text = "Smoothing";
@@ -202,5 +196,5 @@
       // btnSearch
       // 
-      this.btnSearch.Location = new System.Drawing.Point(201, 19);
+      this.btnSearch.Location = new System.Drawing.Point(173, -1);
       this.btnSearch.Name = "btnSearch";
       this.btnSearch.Size = new System.Drawing.Size(53, 23);
@@ -213,5 +207,5 @@
       // btnReplace
       // 
-      this.btnReplace.Location = new System.Drawing.Point(260, 19);
+      this.btnReplace.Location = new System.Drawing.Point(232, -1);
       this.btnReplace.Name = "btnReplace";
       this.btnReplace.Size = new System.Drawing.Size(55, 23);
@@ -222,13 +216,34 @@
       this.btnReplace.Click += new System.EventHandler(this.btnReplace_Click);
       // 
+      // addLineButton
+      // 
+      this.addLineButton.Location = new System.Drawing.Point(173, 25);
+      this.addLineButton.Name = "addLineButton";
+      this.addLineButton.Size = new System.Drawing.Size(114, 23);
+      this.addLineButton.TabIndex = 10;
+      this.addLineButton.Text = "Add Line";
+      this.addLineButton.UseVisualStyleBackColor = true;
+      this.addLineButton.Click += new System.EventHandler(this.addLineButton_Click);
+      // 
+      // addColumnButton
+      // 
+      this.addColumnButton.Location = new System.Drawing.Point(293, 25);
+      this.addColumnButton.Name = "addColumnButton";
+      this.addColumnButton.Size = new System.Drawing.Size(114, 23);
+      this.addColumnButton.TabIndex = 10;
+      this.addColumnButton.Text = "Add Column";
+      this.addColumnButton.UseVisualStyleBackColor = true;
+      this.addColumnButton.Click += new System.EventHandler(this.addColumnButton_Click);
+      // 
       // DataGridContentView
       // 
       this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
       this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+      this.Controls.Add(this.addColumnButton);
+      this.Controls.Add(this.addLineButton);
       this.Controls.Add(this.btnReplace);
       this.Controls.Add(this.btnSearch);
       this.Controls.Add(this.btnApplySort);
       this.Name = "DataGridContentView";
-      this.Size = new System.Drawing.Size(528, 404);
       this.Controls.SetChildIndex(this.statisticsTextBox, 0);
       this.Controls.SetChildIndex(this.rowsLabel, 0);
@@ -239,4 +254,6 @@
       this.Controls.SetChildIndex(this.btnSearch, 0);
       this.Controls.SetChildIndex(this.btnReplace, 0);
+      this.Controls.SetChildIndex(this.addLineButton, 0);
+      this.Controls.SetChildIndex(this.addColumnButton, 0);
       ((System.ComponentModel.ISupportInitialize)(this.errorProvider)).EndInit();
       this.contextMenuCell.ResumeLayout(false);
@@ -265,4 +282,6 @@
     private System.Windows.Forms.ToolTip toolTip;
     private System.Windows.Forms.ToolStripMenuItem smoothingToolStripMenuItem_Column;
+    private System.Windows.Forms.Button addLineButton;
+    private System.Windows.Forms.Button addColumnButton;
   }
 }
Index: trunk/sources/HeuristicLab.DataPreprocessing.Views/3.4/DataGridContentView.cs
===================================================================
--- trunk/sources/HeuristicLab.DataPreprocessing.Views/3.4/DataGridContentView.cs	(revision 12983)
+++ trunk/sources/HeuristicLab.DataPreprocessing.Views/3.4/DataGridContentView.cs	(revision 12986)
@@ -164,5 +164,4 @@
 
       ClearSorting();
-      //UpdateData(); // rownames are created on DataGrid creation. Therefore, no update possible, yet.
     }
 
@@ -632,4 +631,12 @@
     #endregion
 
+    private void addLineButton_Click(object sender, EventArgs e) {
+      Content.PreProcessingData.InsertRow(Content.Rows);
+    }
+
+    private void addColumnButton_Click(object sender, EventArgs e) {
+      Content.PreProcessingData.InsertColumn<double>(Content.Columns.ToString(), Content.Columns);
+    }
+
   }
 }
Index: trunk/sources/HeuristicLab.DataPreprocessing/3.4/Implementations/DataGridContent.cs
===================================================================
--- trunk/sources/HeuristicLab.DataPreprocessing/3.4/Implementations/DataGridContent.cs	(revision 12983)
+++ trunk/sources/HeuristicLab.DataPreprocessing/3.4/Implementations/DataGridContent.cs	(revision 12986)
@@ -41,6 +41,4 @@
     public IFilterLogic FilterLogic { get; private set; }
 
-    private IEnumerable<string> rowNames;
-
     public int Rows {
       get {
@@ -72,5 +70,5 @@
     public IEnumerable<string> RowNames {
       get {
-        return rowNames;
+        return Enumerable.Range(1, Rows).Select(n => n.ToString());
       }
       set {
@@ -103,5 +101,4 @@
       FilterLogic = theFilterLogic;
       PreProcessingData = preProcessingData;
-      createRowNames();
     }
 
@@ -116,5 +113,4 @@
     public void DeleteRows(IEnumerable<int> rows) {
       PreProcessingData.DeleteRowsWithIndices(rows);
-      createRowNames();
     }
 
@@ -133,8 +129,4 @@
     public bool SetValue(string value, int rowIndex, int columnIndex) {
       return PreProcessingData.SetValue(value, columnIndex, rowIndex);
-    }
-
-    private void createRowNames() {
-      rowNames = Enumerable.Range(1, Rows).Select(n => n.ToString());
     }
 
Index: trunk/sources/HeuristicLab.DataPreprocessing/3.4/Implementations/TransactionalPreprocessingData.cs
===================================================================
--- trunk/sources/HeuristicLab.DataPreprocessing/3.4/Implementations/TransactionalPreprocessingData.cs	(revision 12983)
+++ trunk/sources/HeuristicLab.DataPreprocessing/3.4/Implementations/TransactionalPreprocessingData.cs	(revision 12986)
@@ -225,4 +225,5 @@
       if (!IsInTransaction)
         OnChanged(DataPreprocessingChangedEventType.DeleteRow, -1, -1);
+      ResetPartitions();
     }
 
@@ -235,4 +236,5 @@
       if (!IsInTransaction)
         OnChanged(DataPreprocessingChangedEventType.AddRow, -1, rowIndex);
+      ResetPartitions();
     }
 
@@ -244,4 +246,5 @@
       if (!IsInTransaction)
         OnChanged(DataPreprocessingChangedEventType.DeleteRow, -1, rowIndex);
+      ResetPartitions();
     }
 
@@ -284,4 +287,9 @@
     }
 
+
+    private void ResetPartitions() {
+      TrainingPartition = new IntRange();
+      TestPartition = new IntRange();
+    }
 
     #endregion
