DataGridViewCellValueEventArgs Class      
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Provides data for the CellValueNeeded and CellValuePushed events of the DataGridView control.
public ref class DataGridViewCellValueEventArgs : EventArgs
	public class DataGridViewCellValueEventArgs : EventArgs
	type DataGridViewCellValueEventArgs = class
    inherit EventArgs
	Public Class DataGridViewCellValueEventArgs
Inherits EventArgs
		- Inheritance
 
Examples
The following code example handles the CellValuePushed event to store updates and new entries in a data store object. This example is part of a larger example available in the DataGridView.VirtualMode reference topic.
#pragma region Data store maintance
    void VirtualConnector::dataGridView1_CellValueNeeded
        (Object^ sender, DataGridViewCellValueEventArgs^ e)
    {
        if (store->ContainsKey(e->RowIndex))
        {
            // Use the store if the e value has been modified 
            // and stored.            
            e->Value = gcnew Int32(store->default[e->RowIndex]); 
        }
        else if (newRowNeeded && e->RowIndex == numberOfRows)
        {
            if (dataGridView1->IsCurrentCellInEditMode)
            {
                e->Value = initialValue;
            }
            else
            {
                // Show a blank e if the cursor is just loitering
                // over(the) last row.
                e->Value = String::Empty;
            }
        }
        else
        {
            e->Value = e->RowIndex;
        }
    }
    void VirtualConnector::dataGridView1_CellValuePushed
        (Object^ sender, DataGridViewCellValueEventArgs^ e)
    {
        String^ value = e->Value->ToString();
        store[e->RowIndex] = Int32::Parse(value, 
            CultureInfo::CurrentCulture);
    }
#pragma endregion
#region "data store maintance"
const int initialValue = -1;
private void dataGridView1_CellValueNeeded(object sender,
    DataGridViewCellValueEventArgs e)
{
    if (store.ContainsKey(e.RowIndex))
    {
        // Use the store if the e value has been modified 
        // and stored.            
        e.Value = store[e.RowIndex];
    }
    else if (newRowNeeded && e.RowIndex == numberOfRows)
    {
        if (dataGridView1.IsCurrentCellInEditMode)
        {
            e.Value = initialValue;
        }
        else
        {
            // Show a blank value if the cursor is just resting
            // on the last row.
            e.Value = String.Empty;
        }
    }
    else
    {
        e.Value = e.RowIndex;
    }
}
private void dataGridView1_CellValuePushed(object sender,
    DataGridViewCellValueEventArgs e)
{
    store.Add(e.RowIndex, int.Parse(e.Value.ToString()));
}
#endregion
private Dictionary<int, int> store = new Dictionary<int, int>();
#Region "data store maintance"
    Const initialValue As Integer = -1
    Private Sub dataGridView1_CellValueNeeded(ByVal sender As Object, _
        ByVal e As DataGridViewCellValueEventArgs) _
        Handles dataGridView1.CellValueNeeded
        If store.ContainsKey(e.RowIndex) Then
            ' Use the store if the e value has been modified 
            ' and stored.
            e.Value = store(e.RowIndex)
        ElseIf newRowNeeded AndAlso e.RowIndex = numberOfRows Then
            If dataGridView1.IsCurrentCellInEditMode Then
                e.Value = initialValue
            Else
                ' Show a blank value if the cursor is just resting
                ' on the last row.
                e.Value = String.Empty
            End If
        Else
            e.Value = e.RowIndex
        End If
    End Sub
    Private Sub dataGridView1_CellValuePushed(ByVal sender As Object, _
        ByVal e As DataGridViewCellValueEventArgs) _
        Handles dataGridView1.CellValuePushed
        store.Add(e.RowIndex, CInt(e.Value))
    End Sub
#End Region
    Dim store As System.Collections.Generic.Dictionary(Of Integer, Integer) = _
        New Dictionary(Of Integer, Integer)
	Remarks
Handle the CellValueNeeded and CellValuePushed events to implement virtual mode in the DataGridView control. For more information about virtual mode, see Virtual Mode in the Windows Forms DataGridView Control.
For more information about how to handle events, see Handling and Raising Events.
Constructors
| DataGridViewCellValueEventArgs(Int32, Int32) | 
		 Initializes a new instance of the DataGridViewCellValueEventArgs class.  | 
        	
Properties
| ColumnIndex | 
		 Gets a value indicating the column index of the cell that the event occurs for.  | 
        	
| RowIndex | 
		 Gets a value indicating the row index of the cell that the event occurs for.  | 
        	
| Value | 
		 Gets or sets the value of the cell that the event occurs for.  | 
        	
Methods
| Equals(Object) | 
		 Determines whether the specified object is equal to the current object. (Inherited from Object) | 
        	
| GetHashCode() | 
		 Serves as the default hash function. (Inherited from Object) | 
        	
| GetType() | 
		 Gets the Type of the current instance. (Inherited from Object) | 
        	
| MemberwiseClone() | 
		 Creates a shallow copy of the current Object. (Inherited from Object) | 
        	
| ToString() | 
		 Returns a string that represents the current object. (Inherited from Object) |