Foros del Web » Programación para mayores de 30 ;) » .NET »

DataGridView seleccionar filas

Estas en el tema de DataGridView seleccionar filas en el foro de .NET en Foros del Web. Buenas a todos, tengo un DataGridView al que le añado una columna con Chechbox de la siguiente manera if (Panel_Ingresos_Agrupados.Columns.Contains("chkSel eccionar")) { Panel_Ingresos_Agrupados.Columns.Remove("chkSelecc ionar"); } ...
  #1 (permalink)  
Antiguo 15/07/2008, 08:25
 
Fecha de Ingreso: enero-2005
Ubicación: Valencia
Mensajes: 66
Antigüedad: 19 años, 3 meses
Puntos: 0
DataGridView seleccionar filas

Buenas a todos, tengo un DataGridView al que le añado una columna con Chechbox de la siguiente manera

if (Panel_Ingresos_Agrupados.Columns.Contains("chkSel eccionar"))
{
Panel_Ingresos_Agrupados.Columns.Remove("chkSelecc ionar");
}
DataGridViewCheckBoxColumn chkColumn = new DataGridViewCheckBoxColumn();
chkColumn.Name = "chkSeleccionar";
chkColumn.HeaderText = "Seleccionar";
chkColumn.Width = 75;
chkColumn.CellTemplate = new DataGridViewCheckBoxCell();
Panel_Ingresos_Agrupados.Columns.Add(chkColumn);
Paint_PanelIngresos(Panel_Ingresos_Agrupados)


Una vez hecho esto lo que pretendo es sumar los valores de una columna llamada importetotal en función de la selección del Checkbox.
Para hacer esto he probado con varios eventos, CellBeginEdit,CellClick,CellMouseClick pero ninguno de ellos me da el resultado esperado. Por ejemplo, si tengo tres filas y marco el 1º no me totaliza, pero al marcar la segunda fila en el total me muestra el valor de la primerafila, y si marco la 3ª fila en el total me muestra la suma de la 1ª y la 2ª.
El código es:

try
{
if (e != null)
{
if (e.RowIndex >= 0)
{
decimal total = 0;
decimal totallinea = 0;
for (int i = 0; i < Panel_Ingresos_Agrupados.Rows.Count ; i++)
{
bool seleccionado = Convert.ToBoolean(Panel_Ingresos_Agrupados.Rows[i].Cells["chkSeleccionar"].FormattedValue);
if (seleccionado)
{
totallinea = Convert.ToDecimal(Panel_Ingresos_Agrupados.Rows[i].Cells["ImporteTotal"].Value);
total = total + totallinea;
}
}
IngresosAgrupados_Total.Text = total.ToString();
}
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}


Agradecería cualquier ayuda, estoy mirando por el foro pero nada de nada.
Gracias
  #2 (permalink)  
Antiguo 17/07/2008, 08:42
 
Fecha de Ingreso: junio-2008
Ubicación: Valencia
Mensajes: 152
Antigüedad: 15 años, 10 meses
Puntos: 3
Respuesta: DataGridView seleccionar filas

A mi me ocurrio algo parecido con un datagridview.yo queria grabar las filas modificadas en la bd.Pero siempre me dejaba la fila seleccionada en ese momento sin detectarla.
Despues de buscar por varios foros , me ayudo mi "jefe". Me hizo probar el quitarle el focus al datagridview antes de buscar las filas modificadas y funciono.

espero te sirva.
  #3 (permalink)  
Antiguo 18/07/2008, 01:02
 
Fecha de Ingreso: enero-2005
Ubicación: Valencia
Mensajes: 66
Antigüedad: 19 años, 3 meses
Puntos: 0
Respuesta: DataGridView seleccionar filas

Gracias Kyha, pero creo que en el planteamiento de mi problema me he dejado alguna cosita.
Lo que necesito realmente es que la suma de los valores de las filas seleccionadas se haga conforme vaya marcando los checkbox y no al despues de marcar todos los que quiero.
Gracias
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 01:40.