Index: trunk/sources/HeuristicLab.Clients.OKB.Views/3.3/RunCreation/CreateFromExperimentMenuItem.cs
===================================================================
--- trunk/sources/HeuristicLab.Clients.OKB.Views/3.3/RunCreation/CreateFromExperimentMenuItem.cs	(revision 12961)
+++ trunk/sources/HeuristicLab.Clients.OKB.Views/3.3/RunCreation/CreateFromExperimentMenuItem.cs	(revision 12971)
@@ -22,4 +22,5 @@
 using System;
 using System.Collections.Generic;
+using HeuristicLab.Core;
 using HeuristicLab.MainForm;
 using HeuristicLab.Optimization;
@@ -45,5 +46,7 @@
     public override void Execute() {
       IContentView activeView = MainFormManager.MainForm.ActiveView as IContentView;
-      MainFormManager.MainForm.ShowContent(activeView.Content, typeof(OKBExperimentUploadView));
+      var view = new OKBExperimentUploadView();
+      view.AddRuns((IItem)activeView.Content);
+      view.Show();
     }
   }
Index: trunk/sources/HeuristicLab.Clients.OKB.Views/3.3/RunCreation/Views/OKBExperimentUploadView.Designer.cs
===================================================================
--- trunk/sources/HeuristicLab.Clients.OKB.Views/3.3/RunCreation/Views/OKBExperimentUploadView.Designer.cs	(revision 12961)
+++ trunk/sources/HeuristicLab.Clients.OKB.Views/3.3/RunCreation/Views/OKBExperimentUploadView.Designer.cs	(revision 12971)
@@ -35,4 +35,5 @@
         components.Dispose();
       }
+      DisposeSpecific();
       base.Dispose(disposing);
     }
@@ -48,4 +49,7 @@
       this.btnUpload = new System.Windows.Forms.Button();
       this.dataGridView = new System.Windows.Forms.DataGridView();
+      this.contextMenu = new System.Windows.Forms.ContextMenuStrip(this.components);
+      this.setColumnToThisValueToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+      this.clearButton = new System.Windows.Forms.Button();
       this.RunNameColumn = new System.Windows.Forms.DataGridViewTextBoxColumn();
       this.AlgorithmNameColumn = new System.Windows.Forms.DataGridViewTextBoxColumn();
@@ -55,7 +59,5 @@
       this.ProblemTypeColumn = new System.Windows.Forms.DataGridViewTextBoxColumn();
       this.OKBProblemColumn = new System.Windows.Forms.DataGridViewComboBoxColumn();
-      this.contextMenu = new System.Windows.Forms.ContextMenuStrip(this.components);
-      this.setColumnToThisValueToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
-      this.clearButton = new System.Windows.Forms.Button();
+      this.UploadColumn = new System.Windows.Forms.DataGridViewCheckBoxColumn();
       ((System.ComponentModel.ISupportInitialize)(this.dataGridView)).BeginInit();
       this.contextMenu.SuspendLayout();
@@ -80,7 +82,7 @@
       this.dataGridView.AllowUserToOrderColumns = true;
       this.dataGridView.AllowUserToResizeRows = false;
-      this.dataGridView.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.dataGridView.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.dataGridView.AutoSizeColumnsMode = System.Windows.Forms.DataGridViewAutoSizeColumnsMode.Fill;
       this.dataGridView.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
@@ -92,5 +94,6 @@
             this.ProblemNameColumn,
             this.ProblemTypeColumn,
-            this.OKBProblemColumn});
+            this.OKBProblemColumn,
+            this.UploadColumn});
       this.dataGridView.EditMode = System.Windows.Forms.DataGridViewEditMode.EditOnEnter;
       this.dataGridView.Location = new System.Drawing.Point(3, 3);
@@ -102,48 +105,4 @@
       this.dataGridView.DragEnter += new System.Windows.Forms.DragEventHandler(this.dataGridView_DragEnter);
       // 
-      // RunNameColumn
-      // 
-      this.RunNameColumn.HeaderText = "Run Name";
-      this.RunNameColumn.Name = "RunNameColumn";
-      this.RunNameColumn.ReadOnly = true;
-      // 
-      // AlgorithmNameColumn
-      // 
-      this.AlgorithmNameColumn.HeaderText = "Algorithm Name";
-      this.AlgorithmNameColumn.Name = "AlgorithmNameColumn";
-      this.AlgorithmNameColumn.ReadOnly = true;
-      // 
-      // AlgorithmTypeColumn
-      // 
-      this.AlgorithmTypeColumn.HeaderText = "Algorithm Type";
-      this.AlgorithmTypeColumn.Name = "AlgorithmTypeColumn";
-      this.AlgorithmTypeColumn.ReadOnly = true;
-      // 
-      // OKBAlgorithmColumn
-      // 
-      this.OKBAlgorithmColumn.HeaderText = "OKB Algorithm";
-      this.OKBAlgorithmColumn.Name = "OKBAlgorithmColumn";
-      // 
-      // ProblemNameColumn
-      // 
-      this.ProblemNameColumn.HeaderText = "Problem Name";
-      this.ProblemNameColumn.Name = "ProblemNameColumn";
-      this.ProblemNameColumn.ReadOnly = true;
-      this.ProblemNameColumn.Resizable = System.Windows.Forms.DataGridViewTriState.True;
-      this.ProblemNameColumn.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.NotSortable;
-      // 
-      // ProblemTypeColumn
-      // 
-      this.ProblemTypeColumn.HeaderText = "Problem Type";
-      this.ProblemTypeColumn.Name = "ProblemTypeColumn";
-      this.ProblemTypeColumn.ReadOnly = true;
-      this.ProblemTypeColumn.Resizable = System.Windows.Forms.DataGridViewTriState.True;
-      this.ProblemTypeColumn.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.NotSortable;
-      // 
-      // OKBProblemColumn
-      // 
-      this.OKBProblemColumn.HeaderText = "OKB Problem";
-      this.OKBProblemColumn.Name = "OKBProblemColumn";
-      // 
       // contextMenu
       // 
@@ -170,4 +129,54 @@
       this.clearButton.UseVisualStyleBackColor = true;
       this.clearButton.Click += new System.EventHandler(this.clearButton_Click);
+      // 
+      // RunNameColumn
+      // 
+      this.RunNameColumn.HeaderText = "Run Name";
+      this.RunNameColumn.Name = "RunNameColumn";
+      this.RunNameColumn.ReadOnly = true;
+      // 
+      // AlgorithmNameColumn
+      // 
+      this.AlgorithmNameColumn.HeaderText = "Algorithm Name";
+      this.AlgorithmNameColumn.Name = "AlgorithmNameColumn";
+      this.AlgorithmNameColumn.ReadOnly = true;
+      // 
+      // AlgorithmTypeColumn
+      // 
+      this.AlgorithmTypeColumn.HeaderText = "Algorithm Type";
+      this.AlgorithmTypeColumn.Name = "AlgorithmTypeColumn";
+      this.AlgorithmTypeColumn.ReadOnly = true;
+      // 
+      // OKBAlgorithmColumn
+      // 
+      this.OKBAlgorithmColumn.HeaderText = "OKB Algorithm";
+      this.OKBAlgorithmColumn.Name = "OKBAlgorithmColumn";
+      // 
+      // ProblemNameColumn
+      // 
+      this.ProblemNameColumn.HeaderText = "Problem Name";
+      this.ProblemNameColumn.Name = "ProblemNameColumn";
+      this.ProblemNameColumn.ReadOnly = true;
+      this.ProblemNameColumn.Resizable = System.Windows.Forms.DataGridViewTriState.True;
+      this.ProblemNameColumn.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.NotSortable;
+      // 
+      // ProblemTypeColumn
+      // 
+      this.ProblemTypeColumn.HeaderText = "Problem Type";
+      this.ProblemTypeColumn.Name = "ProblemTypeColumn";
+      this.ProblemTypeColumn.ReadOnly = true;
+      this.ProblemTypeColumn.Resizable = System.Windows.Forms.DataGridViewTriState.True;
+      this.ProblemTypeColumn.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.NotSortable;
+      // 
+      // OKBProblemColumn
+      // 
+      this.OKBProblemColumn.HeaderText = "OKB Problem";
+      this.OKBProblemColumn.Name = "OKBProblemColumn";
+      // 
+      // UploadColumn
+      // 
+      this.UploadColumn.HeaderText = "Upload?";
+      this.UploadColumn.Name = "UploadColumn";
+      this.UploadColumn.ToolTipText = "Whether the run should be uploaded or not.";
       // 
       // OKBExperimentUploadView
@@ -191,4 +200,7 @@
     private System.Windows.Forms.Button btnUpload;
     private System.Windows.Forms.DataGridView dataGridView;
+    private System.Windows.Forms.ContextMenuStrip contextMenu;
+    private System.Windows.Forms.ToolStripMenuItem setColumnToThisValueToolStripMenuItem;
+    private System.Windows.Forms.Button clearButton;
     private System.Windows.Forms.DataGridViewTextBoxColumn RunNameColumn;
     private System.Windows.Forms.DataGridViewTextBoxColumn AlgorithmNameColumn;
@@ -198,7 +210,5 @@
     private System.Windows.Forms.DataGridViewTextBoxColumn ProblemTypeColumn;
     private System.Windows.Forms.DataGridViewComboBoxColumn OKBProblemColumn;
-    private System.Windows.Forms.ContextMenuStrip contextMenu;
-    private System.Windows.Forms.ToolStripMenuItem setColumnToThisValueToolStripMenuItem;
-    private System.Windows.Forms.Button clearButton;
+    private System.Windows.Forms.DataGridViewCheckBoxColumn UploadColumn;
   }
 }
Index: trunk/sources/HeuristicLab.Clients.OKB.Views/3.3/RunCreation/Views/OKBExperimentUploadView.cs
===================================================================
--- trunk/sources/HeuristicLab.Clients.OKB.Views/3.3/RunCreation/Views/OKBExperimentUploadView.cs	(revision 12961)
+++ trunk/sources/HeuristicLab.Clients.OKB.Views/3.3/RunCreation/Views/OKBExperimentUploadView.cs	(revision 12971)
@@ -28,24 +28,16 @@
 using HeuristicLab.Clients.Access;
 using HeuristicLab.Core;
-using HeuristicLab.Core.Views;
 using HeuristicLab.MainForm;
-using HeuristicLab.MainForm.WindowsForms;
 using HeuristicLab.Optimization;
+using View = HeuristicLab.MainForm.WindowsForms.View;
 
 namespace HeuristicLab.Clients.OKB.RunCreation {
   [View("OKBExperimentUpload View")]
-  [Content(typeof(IOptimizer), false)]
-  public partial class OKBExperimentUploadView : ItemView {
-    public new IOptimizer Content {
-      get { return (IOptimizer)base.Content; }
-      set { base.Content = value; }
-    }
-
-    private const string algorithmTypeParameterName = "Algorithm Type";
-    private const string problemTypeParameterName = "Problem Type";
-    private const string algorithmNameParameterName = "Algorithm Name";
-    private const string problemNameParameterName = "Problem Name";
-    private const int algorithmColumnIndex = 3;
-    private const int problemColumnIndex = 6;
+  public partial class OKBExperimentUploadView : View {
+
+    private const string AlgorithmTypeParameterName = "Algorithm Type";
+    private const string ProblemTypeParameterName = "Problem Type";
+    private const string AlgorithmNameParameterName = "Algorithm Name";
+    private const string ProblemNameParameterName = "Problem Name";
 
     private List<IRun> runs = new List<IRun>();
@@ -57,16 +49,29 @@
     public OKBExperimentUploadView() {
       InitializeComponent();
-    }
-
-    protected override void OnContentChanged() {
-      base.OnContentChanged();
-      if (Content == null) {
-        ClearRuns();
-      } else {
-        AddRuns(Content);
-      }
-    }
-
-    private void AddRuns(IItem item) {
+      OKBAlgorithmColumn.ValueType = typeof(Algorithm);
+      OKBAlgorithmColumn.ValueMember = "Name";
+      OKBAlgorithmColumn.DisplayMember = "Name";
+      OKBProblemColumn.ValueType = typeof(Problem);
+      OKBProblemColumn.ValueMember = "Name";
+      OKBProblemColumn.DisplayMember = "Name";
+      RunCreationClient.Instance.Refreshing += RunCreationClient_Refreshing;
+      RunCreationClient.Instance.Refreshed += RunCreationClient_Refreshed;
+    }
+
+    private void DisposeSpecific() {
+      RunCreationClient.Instance.Refreshing -= RunCreationClient_Refreshing;
+      RunCreationClient.Instance.Refreshed -= RunCreationClient_Refreshed;
+    }
+
+    private bool refreshing;
+
+    protected override void SetEnabledStateOfControls() {
+      if (InvokeRequired) { Invoke((Action)SetEnabledStateOfControls); return; }
+      base.SetEnabledStateOfControls();
+      btnUpload.Enabled = runs.Count > 0 && !refreshing;
+    }
+
+    public void AddRuns(IItem item) {
+      if (InvokeRequired) { Invoke((Action<IItem>)AddRuns, item); return; }
       if (item is Experiment) {
         runs.AddRange((item as Experiment).Runs);
@@ -84,17 +89,5 @@
         DisplayRuns(tmp);
       }
-    }
-
-    protected override void RegisterContentEvents() {
-      base.RegisterContentEvents();
-      RunCreationClient.Instance.Refreshing += new EventHandler(RunCreationClient_Refreshing);
-      RunCreationClient.Instance.Refreshed += new EventHandler(RunCreationClient_Refreshed);
-    }
-
-    protected override void DeregisterContentEvents() {
-      RunCreationClient.Instance.Refreshing -= new EventHandler(RunCreationClient_Refreshing);
-      RunCreationClient.Instance.Refreshed -= new EventHandler(RunCreationClient_Refreshed);
-
-      base.DeregisterContentEvents();
+      SetEnabledStateOfControls();
     }
 
@@ -117,86 +110,92 @@
 
     private void CreateUI(RunCollection runs) {
-      if (InvokeRequired) {
-        Invoke(new Action<RunCollection>(CreateUI), runs);
-      } else {
-        if (problems.Count == 0)
-          problems.AddRange(RunCreationClient.Instance.Problems);
-        if (algorithms.Count == 0)
-          algorithms.AddRange(RunCreationClient.Instance.Algorithms);
-
-        IItem algorithmType;
-        IItem problemType;
-        IItem algorithmName;
-        IItem problemName;
-
-        DataGridViewComboBoxColumn cmbAlgorithm = dataGridView.Columns[algorithmColumnIndex] as DataGridViewComboBoxColumn;
-        cmbAlgorithm.DataSource = algorithms;
-        cmbAlgorithm.DisplayMember = "Name";
-
-        DataGridViewComboBoxColumn cmbProblem = dataGridView.Columns[problemColumnIndex] as DataGridViewComboBoxColumn;
-        cmbProblem.DataSource = problems;
-        cmbProblem.DisplayMember = "Name";
-
-        foreach (IRun run in runs) {
-          int idx = dataGridView.Rows.Add(run.Name);
-          DataGridViewRow curRow = dataGridView.Rows[idx];
-          curRow.Tag = run;
-
-          if (run.Parameters.TryGetValue(algorithmTypeParameterName, out algorithmType)) {
-            HeuristicLab.Data.StringValue algStr = algorithmType as HeuristicLab.Data.StringValue;
-            if (algStr != null) {
-              curRow.Cells[1].Value = algStr;
-            }
-          }
-
-          if (run.Parameters.TryGetValue(algorithmNameParameterName, out algorithmName)) {
-            HeuristicLab.Data.StringValue algStr = algorithmName as HeuristicLab.Data.StringValue;
-            if (algStr != null) {
-              curRow.Cells[2].Value = algStr;
-            }
-          }
-
-          if (run.Parameters.TryGetValue(problemTypeParameterName, out problemType)) {
-            HeuristicLab.Data.StringValue prbStr = problemType as HeuristicLab.Data.StringValue;
-            if (prbStr != null) {
-              curRow.Cells[4].Value = prbStr;
-            }
-          }
-
-          if (run.Parameters.TryGetValue(problemNameParameterName, out problemName)) {
-            HeuristicLab.Data.StringValue prbStr = problemName as HeuristicLab.Data.StringValue;
-            if (prbStr != null) {
-              curRow.Cells[5].Value = prbStr;
-            }
-          }
-        }
-      }
-    }
-
-    private void ClearRuns() {
-      if (InvokeRequired) {
-        Invoke(new Action(ClearRuns));
-      } else {
-        dataGridView.Rows.Clear();
-        runs.Clear();
-      }
+      if (InvokeRequired) { Invoke((Action<RunCollection>)CreateUI, runs); return; }
+      if (problems.Count == 0)
+        problems.AddRange(RunCreationClient.Instance.Problems);
+      if (algorithms.Count == 0)
+        algorithms.AddRange(RunCreationClient.Instance.Algorithms);
+
+      IItem algorithmType;
+      IItem problemType;
+      IItem algorithmName;
+      IItem problemName;
+
+      OKBAlgorithmColumn.DataSource = algorithms;
+      OKBProblemColumn.DataSource = problems;
+
+      foreach (IRun run in runs) {
+        int idx = dataGridView.Rows.Add(run.Name);
+        DataGridViewRow curRow = dataGridView.Rows[idx];
+        curRow.Tag = run;
+
+        HeuristicLab.Data.StringValue algStr = null, algTypeStr = null, prbStr = null, prbTypeStr = null;
+        if (run.Parameters.TryGetValue(AlgorithmNameParameterName, out algorithmName)) {
+          algStr = algorithmName as HeuristicLab.Data.StringValue;
+          if (algStr != null) {
+            curRow.Cells[AlgorithmNameColumn.Name].Value = algStr;
+          }
+        }
+
+        if (run.Parameters.TryGetValue(AlgorithmTypeParameterName, out algorithmType)) {
+          algTypeStr = algorithmType as HeuristicLab.Data.StringValue;
+          if (algTypeStr != null) {
+            curRow.Cells[AlgorithmTypeColumn.Name].Value = algTypeStr;
+          }
+        }
+
+        var uploadOk = false;
+        if (algStr != null && algTypeStr != null) {
+          var alg = algorithms.FirstOrDefault(x => x.DataType.Name == algTypeStr.Value && x.Name == algStr.Value);
+          if (alg != null) {
+            curRow.Cells[OKBAlgorithmColumn.Name].Value = alg.Name;
+            uploadOk = true;
+          }
+        }
+
+        if (run.Parameters.TryGetValue(ProblemNameParameterName, out problemName)) {
+          prbStr = problemName as HeuristicLab.Data.StringValue;
+          if (prbStr != null) {
+            curRow.Cells[ProblemNameColumn.Name].Value = prbStr;
+          }
+        }
+
+        if (run.Parameters.TryGetValue(ProblemTypeParameterName, out problemType)) {
+          prbTypeStr = problemType as HeuristicLab.Data.StringValue;
+          if (prbTypeStr != null) {
+            curRow.Cells[ProblemTypeColumn.Name].Value = prbTypeStr;
+          }
+        }
+
+        if (prbStr != null && prbTypeStr != null) {
+          var prb = problems.FirstOrDefault(x => x.DataType.Name == prbTypeStr.Value && x.Name == prbStr.Value);
+          if (prb != null) {
+            curRow.Cells[OKBProblemColumn.Name].Value = prb.Name;
+          } else uploadOk = false;
+        }
+
+        curRow.Cells[UploadColumn.Name].Value = uploadOk;
+      }
+    }
+
+    public void ClearRuns() {
+      if (InvokeRequired) { Invoke((Action)ClearRuns); return; }
+      dataGridView.Rows.Clear();
+      runs.Clear();
+      SetEnabledStateOfControls();
     }
 
     private void RunCreationClient_Refreshing(object sender, EventArgs e) {
-      if (InvokeRequired) {
-        Invoke(new EventHandler(RunCreationClient_Refreshing), sender, e);
-      } else {
-        var message = "Refreshing algorithms and problems...";
-        MainFormManager.GetMainForm<HeuristicLab.MainForm.WindowsForms.MainForm>().AddOperationProgressToView(this, message);
-      }
+      if (InvokeRequired) { Invoke((Action<object, EventArgs>)RunCreationClient_Refreshing, sender, e); return; }
+      var message = "Refreshing algorithms and problems...";
+      MainFormManager.GetMainForm<HeuristicLab.MainForm.WindowsForms.MainForm>().AddOperationProgressToView(this, message);
+      refreshing = true;
+      SetEnabledStateOfControls();
     }
 
     private void RunCreationClient_Refreshed(object sender, EventArgs e) {
-      if (InvokeRequired) {
-        Invoke(new EventHandler(RunCreationClient_Refreshed), sender, e);
-      } else {
-        MainFormManager.GetMainForm<HeuristicLab.MainForm.WindowsForms.MainForm>().RemoveOperationProgressFromView(this);
-        SetEnabledStateOfControls();
-      }
+      if (InvokeRequired) { Invoke((Action<object, EventArgs>)RunCreationClient_Refreshed, sender, e); return; }
+      MainFormManager.GetMainForm<HeuristicLab.MainForm.WindowsForms.MainForm>().RemoveOperationProgressFromView(this);
+      refreshing = false;
+      SetEnabledStateOfControls();
     }
 
@@ -215,6 +214,8 @@
       int i = 0;
       foreach (DataGridViewRow row in dataGridView.Rows) {
-        selectedAlgorithm = algorithms.Where(x => x.Name == row.Cells[algorithmColumnIndex].Value.ToString()).FirstOrDefault();
-        selectedProblem = problems.Where(x => x.Name == row.Cells[problemColumnIndex].Value.ToString()).FirstOrDefault();
+        i++;
+        if (!Convert.ToBoolean(row.Cells[UploadColumn.Name].Value)) continue;
+        selectedAlgorithm = algorithms.FirstOrDefault(x => x.Name == row.Cells[OKBAlgorithmColumn.Name].Value.ToString());
+        selectedProblem = problems.FirstOrDefault(x => x.Name == row.Cells[OKBProblemColumn.Name].Value.ToString());
         if (selectedAlgorithm == null || selectedProblem == null) {
           throw new ArgumentException("Can't retrieve the algorithm/problem to upload");
@@ -223,5 +224,4 @@
         OKBRun run = new OKBRun(selectedAlgorithm.Id, selectedProblem.Id, row.Tag as IRun, UserInformation.Instance.User.Id);
         run.Store();
-        i++;
         progress.ProgressValue = ((double)i) / count;
       }
@@ -233,6 +233,6 @@
       if (e.Button == System.Windows.Forms.MouseButtons.Right && dataGridView[e.ColumnIndex, e.RowIndex].Value != null) {
         string curVal = dataGridView[e.ColumnIndex, e.RowIndex].Value.ToString();
-        selectedAlgorithm = algorithms.Where(x => x.Name == curVal).FirstOrDefault();
-        selectedProblem = problems.Where(x => x.Name == curVal).FirstOrDefault();
+        selectedAlgorithm = algorithms.FirstOrDefault(x => x.Name == curVal);
+        selectedProblem = problems.FirstOrDefault(x => x.Name == curVal);
 
         if (selectedAlgorithm != null || selectedProblem != null) {
@@ -247,10 +247,10 @@
         for (int i = 0; i < dataGridView.Rows.Count; i++) {
           var row = dataGridView.Rows[i];
-          row.Cells[algorithmColumnIndex].Value = selectedAlgorithm.Name;
+          row.Cells[OKBAlgorithmColumn.Name].Value = selectedAlgorithm.Name;
         }
       } else if (selectedProblem != null) {
         for (int i = 0; i < dataGridView.Rows.Count; i++) {
           var row = dataGridView.Rows[i];
-          row.Cells[problemColumnIndex].Value = selectedProblem.Name;
+          row.Cells[OKBProblemColumn.Name].Value = selectedProblem.Name;
         }
       }
