我需要在dataGridView中計數並呈現不同值/唯一值。 我想這樣呈現,而且這個代碼在列表中工作得很好。使用.NET中的linq計算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使用相同的方法在專欄中,我得到一個錯誤,指出GROUPBY不能在我的dataGridView使用。
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中的列?如果可能的話,我根本不想使用列表。
它會計算所有不同的值,但不是每個的計數這是OP在列表示例中做的不同值 –
這對我有幫助,但它應該來自'DataGridViewRow'和'row.Cells [0] .Value' – StevenWhite