Hola de nuevo,
Sinceramente no sé por que ocurre esto: Cuando intento visualizar mas elementos que el tamaño del datagridView no aparece la barra vertical y además la app se queda bloqueada. Estoy implementando tu código adaptandolo pero me da un error diciendo que no se puede convertir una expresión lambda en un System.Delegate. Entiendo lo que me quiere decir pero no se me ocurre como implementarlo.
por ejemplo así: Teniendo un delegado que llame a mi método.
private void updateVisualizacionMatricula(String texto)
{
if (this.InvokeRequired)
{
updateVisualizacionMatricula_ d
= new updateVisualizacionMatricula_
(updateVisualizacionMatricula
); this.Invoke(d,
new object[] { texto
}); }
else
{
lb_visualizacionMatricula.Text = texto;
int x = groupBoxVisualizacion.Width + label29.Width;
int w = lb_visualizacionMatricula.Width;
lb_visualizacionMatricula.Left = x / 2 - w / 2;
}
}
A y otra cosa ¿Cómo podría pasar los distintos parámetros al método InsertarFila en el método work?
public void InsertarFilaDescarga(String modelo,
String calidad,
String color,
String talla,
String TotalTeorica,
String TotalReal,
String lote)
{
//Creamos fila;
DataGridViewRow row
= new DataGridViewRow
(); DataGridViewButtonColumn buttonColumn
= new DataGridViewButtonColumn
(); buttonColumn.UseColumnTextForButtonValue = true;
row
.Cells.Add(new DataGridViewTextBoxCell
{ Value
= modelo
}); row
.Cells.Add(new DataGridViewTextBoxCell
{ Value
= calidad
}); row
.Cells.Add(new DataGridViewTextBoxCell
{ Value
= color
}); row
.Cells.Add(new DataGridViewTextBoxCell
{ Value
= talla
});
if (lote.Equals("x1"))
{
row
.Cells.Add(new DataGridViewButtonCell
{ Value
= "x1" }); }
else if (lote.Equals("x2"))
{
row
.Cells.Add(new DataGridViewButtonCell
{ Value
= "x2" }); }
else
{
row
.Cells.Add(new DataGridViewTextBoxCell
{ Value
= "" }); //dGV_Descarga.Rows.Add(new object[] { modelo, calidad, color, talla,
// null,TotalTeorica,TotalReal});
//var cell = dGV_Descarga.Rows[dGV_Descarga.RowCount - 1].Cells[4] = new DataGridViewTextBoxCell();
//cell.Value = "";
//cell.ReadOnly = true;
}
row
.Cells.Add(new DataGridViewTextBoxCell
{ Value
= TotalTeorica
}); row
.Cells.Add(new DataGridViewTextBoxCell
{ Value
= TotalReal
});
//insertamos fila
if (dGV_Descarga.InvokeRequired)
{
dGV_Descarga.Invoke(() => dGV_Descarga.Rows.Add(row));
}
else
{
dGV_Descarga.Rows.Add(row);
}
}
public void InsertarFilaDescarga(DataGridView dg , DataGridViewRow row)
{
if (dg.InvokeRequired)
{
dg.Invoke(() => dg.Rows.Add(row));
}
else
{
dg.Rows.Add(row);
}
}