2010-07-09 12 views
1

J'ai un Datagridview dans mon programme C# qui contient des données numériques.Comment peut-on additionner une colonne entière de datagridview?

je dois résumer toutes les colonnes A et toutes les colonnes B.

(je ne veux pas utiliser des requêtes SQL.)

Comment puis-je faire cela?

Merci d'avance.

+0

Quelle version de .NET utilisez-vous? Quelle est la source de données pour la vue? –

+0

j'utilise Visual-studio 2008, FrameWork 3.5 – Gold

+0

vérifier la réponse éditée va résoudre votre problème –

Répondre

1

Utilisez gridView.DataSource. Il peut s'agir d'un IList Interface ou d'un IListSource Interface qui a une méthode GetList() qui renvoie un IList. Donc, vous pouvez essentiellement lancer une méthode de sommation sur ses membres.

Ou si vous connaissez le type exact dans DataSource, vous pouvez agréger les données en utilisant des méthodes spécifiques de l'objet (utilisez même le Enumerable.Sum Method si possible).

ou

decimal sum; 
foreach (DataGridViewRow row in dataGridView.Rows) 
{ 
    sum += (decimal)row[0].Value + (decimal)row[1].Value; 
} 
2

Si votre DataGrid est lié à un DataTable, une autre option est d'utiliser la méthode Datatable.Compute().

http://msdn.microsoft.com/es-es/library/system.data.datatable.compute%28VS.80%29.aspx

private void ComputeBySalesSalesID(DataSet dataSet) 
{ 
// Presumes a DataTable named "Orders" that has a column named "Total." 
DataTable table; 
table = dataSet.Tables["Orders"]; 

// Declare an object variable. 
object sumObject; 
sumObject = table.Compute("Sum(Total)", "EmpID = 5"); 
} 
Questions connexes