winforms - para - propiedades de button
Actualización de texto de un botón en una vista de cuadrícula de datos (1)
Tengo un DataGridView en un winform. Estoy agregando dinámicamente DatagridViewButtonColumn en el método de carga de la forma con el nombre del botón como btnAction y el texto que se muestra en él como "Proceso".
Entonces, cada fila en la grilla tendría este botón de Proceso en la última columna.
Al hacer clic en el evento de este botón, estoy usando un BackgroundWorker para llamar a un método que hace algunos cálculos. Una vez que terminen los cálculos, necesito actualizar el texto del botón en el que se hizo clic como "Procesado" en esa fila de la grilla. ¿Cómo logro esto por favor?
Gracias.
Puede establecer el valor de la celda en cuestión y esto actualizará el texto.
Para que esto funcione, también debe haber establecido la propiedad UseColumnTextForButtonValue
de la columna en falso;
dataGridView[0,0].Value = "Processed";
Con ese código solo necesita cambiar los índices de columnas y filas para que coincidan con su celda, o acceder a la celda de alguna otra manera.
Este código establece su valor, pero como dijo que está haciendo esto en un trabajador de segundo plano, necesitará un poco más de código para establecer el texto.
El backgroundworker tiene un evento RunWorkerCompleted
que se RunWorkerCompleted
una vez que el trabajador ha completado. En su controlador de eventos de trabajo DoWork
solo tiene su código de procesamiento:
void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e)
{
// Some long running processing
}
Luego, en su controlador RunWorkerCompleted, tiene la configuración del valor:
void backgroundWorker1_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
{
dataGridView1[0,0].Value = "Processed";
}