Index: branches/eraser6/Eraser/TaskPropertiesForm.cs
===================================================================
--- branches/eraser6/Eraser/TaskPropertiesForm.cs	(revision 486)
+++ branches/eraser6/Eraser/TaskPropertiesForm.cs	(revision 490)
@@ -136,4 +136,5 @@
 				ListViewItem item = data.Items.Add(target.UIText);
 				item.SubItems.Add(target.MethodDefined ? target.Method.Name : S._("(default)"));
+				item.Tag = target;
 			}
 
@@ -204,6 +205,7 @@
 					Task.ErasureTarget target = form.Target;
 					ListViewItem item = data.Items.Add(target.UIText);
-
 					item.SubItems.Add(target.MethodDefined ? target.Method.Name : S._("(default)"));
+					item.Tag = target;
+
 					task.Targets.Add(target);
 					errorProvider.Clear();
@@ -234,4 +236,41 @@
 		}
 
+		/// <summary>
+		/// Generated when the user right-clicks on the data selection list-view.
+		/// </summary>
+		/// <param name="sender">The menu being opened.</param>
+		/// <param name="e">Event argument.</param>
+		private void dataContextMenuStrip_Opening(object sender, CancelEventArgs e)
+		{
+			if (data.SelectedIndices.Count == 0)
+			{
+				e.Cancel = true;
+				return;
+			}
+		}
+
+		/// <summary>
+		/// Generated when the user selects the menu itm to remove the selected
+		/// data from the list of data to erase.
+		/// </summary>
+		/// <param name="sender">The object triggering the event.</param>
+		/// <param name="e">Event argument.</param>
+		private void deleteDataToolStripMenuItem_Click(object sender, EventArgs e)
+		{
+			if (data.SelectedIndices.Count == 0)
+				return;
+
+			foreach (ListViewItem obj in data.SelectedItems)
+			{
+				task.Targets.Remove((Task.ErasureTarget)obj.Tag);
+				data.Items.Remove(obj);
+			}
+		}
+
+		/// <summary>
+		/// Generated when the task schedule type changes.
+		/// </summary>
+		/// <param name="sender">The object triggering the event.</param>
+		/// <param name="e">Event argument.</param>
 		private void taskType_CheckedChanged(object sender, EventArgs e)
 		{
@@ -244,4 +283,9 @@
 		}
 
+		/// <summary>
+		/// Generated when the scheduling frequency is changed.
+		/// </summary>
+		/// <param name="sender">The object triggering the event.</param>
+		/// <param name="e">Event argument.</param>
 		private void scheduleSpan_CheckedChanged(object sender, EventArgs e)
 		{
@@ -263,4 +307,9 @@
 		}
 
+		/// <summary>
+		/// Generated when the daily frequency argument is changed.
+		/// </summary>
+		/// <param name="sender">The object triggering the event.</param>
+		/// <param name="e">Event argument.</param>
 		private void scheduleDailySpan_CheckedChanged(object sender, EventArgs e)
 		{
@@ -269,4 +318,9 @@
 		}
 
+		/// <summary>
+		/// Generated when the dialog is closed.
+		/// </summary>
+		/// <param name="sender">The object triggering the event.</param>
+		/// <param name="e">Event argument.</param>
 		private void ok_Click(object sender, EventArgs e)
 		{
@@ -301,4 +355,7 @@
 		}
 
+		/// <summary>
+		/// The task being edited.
+		/// </summary>
 		private Task task = new Task();
 	}
