Index: /trunk/sources/HeuristicLab.Data.Views/3.3/StringConvertibleMatrixView.Designer.cs
===================================================================
--- /trunk/sources/HeuristicLab.Data.Views/3.3/StringConvertibleMatrixView.Designer.cs	(revision 4708)
+++ /trunk/sources/HeuristicLab.Data.Views/3.3/StringConvertibleMatrixView.Designer.cs	(revision 4709)
@@ -54,7 +54,10 @@
       this.contextMenu = new System.Windows.Forms.ContextMenuStrip(this.components);
       this.ShowHideColumns = new System.Windows.Forms.ToolStripMenuItem();
+      this.statusStrip = new System.Windows.Forms.StatusStrip();
+      this.toolStripStatusLabel = new System.Windows.Forms.ToolStripStatusLabel();
       ((System.ComponentModel.ISupportInitialize)(this.dataGridView)).BeginInit();
       ((System.ComponentModel.ISupportInitialize)(this.errorProvider)).BeginInit();
       this.contextMenu.SuspendLayout();
+      this.statusStrip.SuspendLayout();
       this.SuspendLayout();
       // 
@@ -93,5 +96,5 @@
       this.dataGridView.Name = "dataGridView";
       this.dataGridView.RowHeadersWidth = 160;
-      this.dataGridView.Size = new System.Drawing.Size(424, 352);
+      this.dataGridView.Size = new System.Drawing.Size(424, 327);
       this.dataGridView.TabIndex = 4;
       this.dataGridView.VirtualMode = true;
@@ -102,6 +105,7 @@
       this.dataGridView.ColumnHeaderMouseClick += new System.Windows.Forms.DataGridViewCellMouseEventHandler(this.dataGridView_ColumnHeaderMouseClick);
       this.dataGridView.Scroll += new System.Windows.Forms.ScrollEventHandler(this.dataGridView_Scroll);
+      this.dataGridView.SelectionChanged += new System.EventHandler(this.dataGridView_SelectionChanged);
       this.dataGridView.KeyDown += new System.Windows.Forms.KeyEventHandler(this.dataGridView_KeyDown);
-      this.dataGridView.MouseClick += new System.Windows.Forms.MouseEventHandler(dataGridView_MouseClick);
+      this.dataGridView.MouseClick += new System.Windows.Forms.MouseEventHandler(this.dataGridView_MouseClick);
       this.dataGridView.Resize += new System.EventHandler(this.dataGridView_Resize);
       // 
@@ -146,8 +150,25 @@
       this.ShowHideColumns.Click += new System.EventHandler(this.ShowHideColumns_Click);
       // 
+      // statusStrip1
+      // 
+      this.statusStrip.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
+            this.toolStripStatusLabel});
+      this.statusStrip.Location = new System.Drawing.Point(0, 382);
+      this.statusStrip.Name = "statusStrip1";
+      this.statusStrip.Size = new System.Drawing.Size(424, 22);
+      this.statusStrip.TabIndex = 5;
+      this.statusStrip.Text = "statusStrip1";
+      // 
+      // toolStripStatusLabel
+      // 
+      this.toolStripStatusLabel.Name = "toolStripStatusLabel";
+      this.toolStripStatusLabel.Size = new System.Drawing.Size(378, 17);
+      this.toolStripStatusLabel.Spring = true;
+      // 
       // StringConvertibleMatrixView
       // 
       this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
       this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+      this.Controls.Add(this.statusStrip);
       this.Controls.Add(this.dataGridView);
       this.Controls.Add(this.columnsTextBox);
@@ -160,4 +181,6 @@
       ((System.ComponentModel.ISupportInitialize)(this.errorProvider)).EndInit();
       this.contextMenu.ResumeLayout(false);
+      this.statusStrip.ResumeLayout(false);
+      this.statusStrip.PerformLayout();
       this.ResumeLayout(false);
       this.PerformLayout();
@@ -174,4 +197,6 @@
     protected System.Windows.Forms.ToolStripMenuItem ShowHideColumns;
     protected System.Windows.Forms.DataGridView dataGridView;
+    private System.Windows.Forms.StatusStrip statusStrip;
+    private System.Windows.Forms.ToolStripStatusLabel toolStripStatusLabel;
 
   }
Index: /trunk/sources/HeuristicLab.Data.Views/3.3/StringConvertibleMatrixView.cs
===================================================================
--- /trunk/sources/HeuristicLab.Data.Views/3.3/StringConvertibleMatrixView.cs	(revision 4708)
+++ /trunk/sources/HeuristicLab.Data.Views/3.3/StringConvertibleMatrixView.cs	(revision 4709)
@@ -56,8 +56,15 @@
       get { return showRowsAndColumnsTextBox; }
       set {
-        if (value != showRowsAndColumnsTextBox) {
-          showRowsAndColumnsTextBox = value;
-          UpdateVisibilityOfTextBoxes();
-        }
+        showRowsAndColumnsTextBox = value;
+        UpdateVisibilityOfTextBoxes();
+      }
+    }
+
+    private bool showStatisticalInformation;
+    public bool ShowStatisticalInformation {
+      get { return showStatisticalInformation; }
+      set {
+        showStatisticalInformation = value;
+        UpdateVisibilityOfStatisticalInformation();
       }
     }
@@ -65,5 +72,6 @@
     public StringConvertibleMatrixView() {
       InitializeComponent();
-      showRowsAndColumnsTextBox = true;
+      ShowRowsAndColumnsTextBox = true;
+      ShowStatisticalInformation = false;
       errorProvider.SetIconAlignment(rowsTextBox, ErrorIconAlignment.MiddleLeft);
       errorProvider.SetIconPadding(rowsTextBox, 2);
@@ -496,11 +504,41 @@
       rowsTextBox.Visible = columnsTextBox.Visible = showRowsAndColumnsTextBox;
       rowsLabel.Visible = columnsLabel.Visible = showRowsAndColumnsTextBox;
-
+      UpdateDataGridViewSizeAndLocation();
+    }
+
+    private void UpdateVisibilityOfStatisticalInformation() {
+      statusStrip.Visible = showStatisticalInformation;
+      UpdateDataGridViewSizeAndLocation();
+    }
+
+    private void UpdateDataGridViewSizeAndLocation() {
       int headerSize = columnsTextBox.Location.Y + columnsTextBox.Size.Height +
-        columnsTextBox.Margin.Bottom + dataGridView.Margin.Top;
+       columnsTextBox.Margin.Bottom + dataGridView.Margin.Top;
 
       int offset = showRowsAndColumnsTextBox ? headerSize : 0;
       dataGridView.Location = new Point(0, offset);
-      dataGridView.Size = new Size(Size.Width, Size.Height - offset);
+
+      int statusStripHeight = showStatisticalInformation ? statusStrip.Height : 0;
+      dataGridView.Size = new Size(Size.Width, Size.Height - offset - statusStripHeight);
+    }
+
+    private void dataGridView_SelectionChanged(object sender, EventArgs e) {
+      toolStripStatusLabel.Text = string.Empty;
+      if (dataGridView.SelectedCells.Count > 1) {
+        List<double> selectedValues = new List<double>();
+        foreach (DataGridViewCell cell in dataGridView.SelectedCells) {
+          double value;
+          if (!double.TryParse(cell.Value.ToString(), out value)) return;
+          selectedValues.Add(value);
+        }
+        if (selectedValues.Count > 1) {
+          StringBuilder labelText = new StringBuilder();
+          labelText.Append("Average: " + selectedValues.Average() + "    ");
+          labelText.Append("StdDev: " + selectedValues.StandardDeviation() + "    ");
+          labelText.Append("Sum: " + selectedValues.Sum() + "    ");
+          labelText.Append("Count: " + selectedValues.Count + "    ");
+          toolStripStatusLabel.Text = labelText.ToString();
+        }
+      }
     }
   }
Index: /trunk/sources/HeuristicLab.Optimization.Views/3.3/RunCollectionBoxPlotView.Designer.cs
===================================================================
--- /trunk/sources/HeuristicLab.Optimization.Views/3.3/RunCollectionBoxPlotView.Designer.cs	(revision 4708)
+++ /trunk/sources/HeuristicLab.Optimization.Views/3.3/RunCollectionBoxPlotView.Designer.cs	(revision 4709)
@@ -46,6 +46,6 @@
     private void InitializeComponent() {
       this.components = new System.ComponentModel.Container();
-      System.Windows.Forms.DataVisualization.Charting.ChartArea chartArea1 = new System.Windows.Forms.DataVisualization.Charting.ChartArea();
-      System.Windows.Forms.DataVisualization.Charting.Series series1 = new System.Windows.Forms.DataVisualization.Charting.Series();
+      System.Windows.Forms.DataVisualization.Charting.ChartArea chartArea2 = new System.Windows.Forms.DataVisualization.Charting.ChartArea();
+      System.Windows.Forms.DataVisualization.Charting.Series series2 = new System.Windows.Forms.DataVisualization.Charting.Series();
       this.xAxisLabel = new System.Windows.Forms.Label();
       this.xAxisComboBox = new System.Windows.Forms.ComboBox();
@@ -56,6 +56,6 @@
       this.splitContainer = new System.Windows.Forms.SplitContainer();
       this.statisticsGroupBox = new System.Windows.Forms.GroupBox();
+      this.tooltip = new System.Windows.Forms.ToolTip(this.components);
       this.statisticsMatrixView = new HeuristicLab.Data.Views.StringConvertibleMatrixView();
-      this.tooltip = new System.Windows.Forms.ToolTip(this.components);
       ((System.ComponentModel.ISupportInitialize)(this.chart)).BeginInit();
       this.splitContainer.Panel1.SuspendLayout();
@@ -112,15 +112,15 @@
                   | System.Windows.Forms.AnchorStyles.Left)
                   | System.Windows.Forms.AnchorStyles.Right)));
-      chartArea1.Name = "ChartArea1";
-      this.chart.ChartAreas.Add(chartArea1);
+      chartArea2.Name = "ChartArea1";
+      this.chart.ChartAreas.Add(chartArea2);
       this.chart.Location = new System.Drawing.Point(6, 30);
       this.chart.Name = "chart";
-      series1.ChartArea = "ChartArea1";
-      series1.ChartType = System.Windows.Forms.DataVisualization.Charting.SeriesChartType.BoxPlot;
-      series1.IsVisibleInLegend = false;
-      series1.MarkerStyle = System.Windows.Forms.DataVisualization.Charting.MarkerStyle.Circle;
-      series1.Name = "DataSeries";
-      series1.YValuesPerPoint = 6;
-      this.chart.Series.Add(series1);
+      series2.ChartArea = "ChartArea1";
+      series2.ChartType = System.Windows.Forms.DataVisualization.Charting.SeriesChartType.BoxPlot;
+      series2.IsVisibleInLegend = false;
+      series2.MarkerStyle = System.Windows.Forms.DataVisualization.Charting.MarkerStyle.Circle;
+      series2.Name = "DataSeries";
+      series2.YValuesPerPoint = 6;
+      this.chart.Series.Add(series2);
       this.chart.Size = new System.Drawing.Size(534, 217);
       this.chart.TabIndex = 17;
@@ -184,4 +184,5 @@
       this.statisticsMatrixView.ReadOnly = true;
       this.statisticsMatrixView.ShowRowsAndColumnsTextBox = false;
+      this.statisticsMatrixView.ShowStatisticalInformation = false;
       this.statisticsMatrixView.Size = new System.Drawing.Size(528, 110);
       this.statisticsMatrixView.TabIndex = 0;
Index: /trunk/sources/HeuristicLab.Optimization.Views/3.3/RunCollectionTabularView.Designer.cs
===================================================================
--- /trunk/sources/HeuristicLab.Optimization.Views/3.3/RunCollectionTabularView.Designer.cs	(revision 4708)
+++ /trunk/sources/HeuristicLab.Optimization.Views/3.3/RunCollectionTabularView.Designer.cs	(revision 4709)
@@ -45,6 +45,25 @@
     /// </summary>
     private void InitializeComponent() {
-      this.components = new System.ComponentModel.Container();
-      this.dataGridView.RowHeaderMouseDoubleClick += new System.Windows.Forms.DataGridViewCellMouseEventHandler(dataGridView_RowHeaderMouseDoubleClick);
+      ((System.ComponentModel.ISupportInitialize)(this.errorProvider)).BeginInit();
+      this.SuspendLayout();
+      // 
+      // rowsTextBox
+      // 
+      this.errorProvider.SetIconAlignment(this.rowsTextBox, System.Windows.Forms.ErrorIconAlignment.MiddleLeft);
+      this.errorProvider.SetIconPadding(this.rowsTextBox, 2);
+      // 
+      // RunCollectionTabularView
+      // 
+      this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
+      this.Name = "RunCollectionTabularView";
+      this.ShowStatisticalInformation = true;
+      this.Controls.SetChildIndex(this.rowsLabel, 0);
+      this.Controls.SetChildIndex(this.columnsLabel, 0);
+      this.Controls.SetChildIndex(this.rowsTextBox, 0);
+      this.Controls.SetChildIndex(this.columnsTextBox, 0);
+      ((System.ComponentModel.ISupportInitialize)(this.errorProvider)).EndInit();
+      this.ResumeLayout(false);
+      this.PerformLayout();
+
     }
 
