2011-08-19 2 views
0

Ma question se présentait sur la réponse accepter ici:DataRow [] Fonctions d'agrégat C# - Annexe

DataRow[] Aggregate Functions C#

Dans cette réponse, comment est l'objet "lignes" intialized?

EDIT: Dans mon cas, j'ai mydataset.Tables [0] .Rows collection, à partir de laquelle j'ai besoin de SUM une colonne particulière.

+1

Votre point de départ est un problème Linq, mais votre plus tard modifier me demande si 'DataTable.Compute 'ne serait pas juste ce dont vous avez besoin. –

+0

Cela pourrait juste fonctionner. Je vais essayer de poster une mise à jour. – FMFF

Répondre

1

probablement d'une requête LINQ comme:

List<DataRow> rows = (from row in mydataset.Tables[0].AsEnumerable() 
         select row).ToList(); 
+0

J'ai essayé, et j'ai 'Impossible de convertir le type implicitement System.Data.EnumerableRowCollection 'en' System.Collections.Generic.List '' – FMFF

+1

@FMFF Désolé, consultez ma mise à jour –

2

Eh bien, vous pouvez créer votre propre liste de DataRow

List<DataRow> listOfRows = new List<DataRow>(); 

Ou vous pouvez obtenir la collection d'entre eux de GridView.

var rows = gridView.Tables[0].Rows; //will return a collection of DataRows from your Gridview 

Ou de DataSet

var rows = dataSet.Tables[0].Rows; 
+0

Lorsque je tente de le faire comme ça 'Liste rangs = myDataSet.Tables [0]; .Rows' Je reçois ceci: ne peut pas convertir implicitement le type 'System.Data.DataRowCollection' à « System.Collections .Generic.List ' – FMFF

+0

Corrigez comme vous retourneriez une collection de DataRows différente de la liste . Essaye ça. var rows = myDataSet.Tables [0] .Rows; – Jethro

+0

@Jethro La méthode Sum n'existe pas pour un DataRowCollection, donc ce n'est pas vraiment utile –