// Transform all cells in the given column to a new value, using given 'transformer' private void TransformColumnValues(int columnIndex, ValueTransformer transformer) { for (int rowIndex = 0; rowIndex < dataGridViewItems.Rows.Count; rowIndex++) { var oldValue = dataGridViewItems[columnIndex, rowIndex].Value; var newValue = transformer.Transform(oldValue); dataGridViewItems[columnIndex, rowIndex].Value = newValue; } }
// Create a 'transform' object to send along with event, so receiver(s) can transform values with it private void buttonTransform_Click(object sender, EventArgs e) { // First validate the value entered var validationResult = ValueValidator.Validate(textBoxTransformValue.Text, _property); errorProviderTransformValue.SetError(textBoxTransformValue, validationResult); if (!string.IsNullOrEmpty(validationResult)) { // Not a valid value return; } // Create transformer var transformValue = textBoxTransformValue.Text; var operation = (TransformValueOperation)comboBoxOperation.SelectedIndex; var transformer = new ValueTransformer(InventoryItem.ItemPropertyType(_property), transformValue, operation); // Notify listeners OnTransformValue(this, new TransformValueEventArgs(transformer)); Close(); }
public TransformValueEventArgs(ValueTransformer transformer) { _transformer = transformer; }