DataGridView.CellValuePushed Evento
Definición
Se produce cuando la propiedad VirtualMode del control DataGridView es true
y un valor de celda cambió y requiere almacenamiento en el origen de datos subyacente.Occurs when the VirtualMode property of the DataGridView control is true
and a cell value has changed and requires storage in the underlying data source.
public:
event System::Windows::Forms::DataGridViewCellValueEventHandler ^ CellValuePushed;
public event System.Windows.Forms.DataGridViewCellValueEventHandler CellValuePushed;
member this.CellValuePushed : System.Windows.Forms.DataGridViewCellValueEventHandler
Public Custom Event CellValuePushed As DataGridViewCellValueEventHandler
Ejemplos
En el ejemplo de código siguiente se controla el evento CellValuePushed para almacenar actualizaciones y entradas nuevas en un objeto de almacén de datos.The following code example handles the CellValuePushed event to store updates and new entries in a data store object. Este ejemplo forma parte de un ejemplo más grande disponible en el tema de referencia VirtualMode.This example is part of a larger example available in the 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)
Comentarios
Utilice este evento en modo virtual para actualizar un almacén de datos personalizado con datos especificados por el usuario.Use this event in virtual mode to update a custom data store with user-specified data. Controle el evento CellValueNeeded para recuperar los valores del almacén de datos para su presentación en el control.Handle the CellValueNeeded event to retrieve values from the data store for display in the control.
Para obtener más información sobre el modo virtual, vea modo virtual en el control DataGridView de Windows Forms.For more information about virtual mode, see Virtual Mode in the Windows Forms DataGridView Control.
Para obtener más información acerca de cómo controlar eventos, vea controlar y provocar eventos.For more information about how to handle events, see Handling and Raising Events.
Se aplica a
Consulte también:
- VirtualMode
- DataGridViewCellValueEventHandler
- DataGridViewCellValueEventArgs
- CellValueNeeded
- OnCellValuePushed(DataGridViewCellValueEventArgs)
- Modo virtual del control DataGridView de formularios Windows FormsVirtual Mode in the Windows Forms DataGridView Control
- DataGridView (Control, formularios Windows Forms)DataGridView Control (Windows Forms)