2017-12-19 39 views
0

は、以下のグリッドビューを考えてみましょう:単一のGridViewの列内のすべてのエントリを反復処理する方法は?

enter image description here

現時点ではそのかなりの空が、より多くの人口になります。

peronIDの列は常に同じ場所にあります。最初の列を反復処理するには、personIDをすべて指定してください。このような何か(擬似コード):GridViewのデータを移入

foreach element in personID 
if element == 25 
    count += 1 

コード:

private void DisplayTable() 
    { 
     LibraryEntities1 myDB = new LibraryEntities1(); 
     var people = myDB.People; 
     gridViewPeople.DataSource = people.ToList(); 
     gridViewPeople.DataBind(); 
    } 
+1

は、なぜあなただ​​けのグリッドを埋めるために使用される基礎となるオブジェクトを数えることができませんか? – sous2817

+0

'personID'は何のコレクションですか? –

+0

このGridViewは、SQLデータベースから作成されました。しかし、私はコレクションの意味を理解していませんか? –

答えて

1

私は、以下のリストをと仮定すると、あなたが持っているかもしれないものである、あなたはデータ上ではなく、グリッド上で動作示唆

与えられたクラスPerson:あなたのグリッドにバインド

class Person 
{ 
    public int PersonID { get; set; } 
    public string PersonName { get; set; } 
} 

ますグループあなたはSQLで行う可能性があります同じようによると合計することができます

List<Person> persons = new List<Person>{ 
    new Person{ PersonID = 13, PersonName = "Foo" }, 
    new Person{ PersonID = 13, PersonName = "Foo" }, 
    new Person{ PersonID = 15, PersonName = "Foo" } 
}; 

var grp = persons.GroupBy(p => p.PersonID) 
    .Select(p => new {pid = p.Key, count = p.Count()}); 

foreach (var element in grp) 
{ 
    Console.WriteLine($"PersonID = {element.pid}, Count of Person = {element.count}"); 
} 

出力:

PersonID = 13, Count of Person = 2 
PersonID = 15, Count of Person = 1