以下のようなデータテーブルがあります。リストしたように行をグループ化する簡単な方法を作成するのに苦労しています。1 つの ID のすべての年の合計、1 年のすべての ID の合計など、さまざまな計算を実行できる必要があります。また、1 つの ID のすべての年と値を一連のテキスト ボックス、変数に体系的に割り当てる必要があります。そうしないと、何らかの方法でそれらに論理的にアクセスできます。私が抱えている最大の問題は、データテーブルを変換する方法と、必要なことを処理するための最良の方法を決定することだと思います。
現時点の
ID Year Value
1 2010 25
1 2010 25
1 2009 30
1 2008 5
1 2008 5
1 2008 5
2 2010 1
2 2010 4
2 2009 0
2 2008 25
2 2008 25
2 2008 25
私が欲しいもの
ID Year Value
1 2010 50
2009 30
2008 15
2 2010 5
2009 0
2008 75
私はまだ回答を送信できませんが、これは私が望んでいたことです。ご協力いただきありがとうございます。
var Groups =
from DataRow row in dataset1.datatable1.Rows
group row by row["id"] into newGroup1
from newGroup2 in
(from row in newGroup1
group row by row["year"]).Distinct()
group newGroup2 by newGroup1.Key;
foreach (var outerGroup in Groups)
{
Console.WriteLine("Level = {0}", outerGroup.Key);
foreach (var innerGroup in outerGroup)
{
Console.WriteLine("Data = {0}", innerGroup.Key);
foreach (var innerGroupElement in innerGroup)
{
Console.WriteLine("\t\t{0}", innerGroupElement["Value"]);
}
}
}
これは私に次のようなものを与えます:
ID:1
Year:2008
Value:15
Year:2009
Value:30
Year:2010
Value:50
ID:2
Year:2008
Value:75
Year:2009
Value:0
Year:2010
Value:5