dataGridView で個別/一意の値をカウントして提示する必要があります。このように提示したいのですが、このコードはリストでうまく機能します。
List<string> aryIDs = new List<string>();
aryIDs.Add("1234");
aryIDs.Add("4321");
aryIDs.Add("3214");
aryIDs.Add("1234");
aryIDs.Add("4321");
aryIDs.Add("1234");
var result= aryIDs.GroupBy(id => id).OrderByDescending(id => id.Count()).Select(g => new { Id = g.Key, Count = g.Count() });
しかし、dataGridView の列で同じアプローチを使用しようとすると、dataGridView で groupBy を使用できないというエラーが表示されます。
DataGridView dataGridView1= new DataGridView();
dataGridView1.Columns.Add("nr", "nr");
string[] row1 = new string[] { "1234" };
string[] row2 = new string[] { "4321" };
string[] row3 = new string[] { "3214" };
string[] row4 = new string[] { "1234" };
string[] row5 = new string[] { "4321" };
string[] row6 = new string[] { "1234" };
object[] rows = new object[] { row1, row2, row3, row4, row5, row6 };
foreach (string[] rowArray in rows)
{
dataGridView1.Rows.Add(rowArray);
}
var result = dataGridView1.GroupBy(id => id).OrderByDescending(id => id.Count()).Select(g => new { Id = g.Key, Count = g.Count() });
だから私の質問は、このlinq構文をdataGridViewの列で動作するように適応させるにはどうすればよいですか? 可能であれば、リストをまったく使用したくありません。