1
我在這三個列中有7列是ReadOnly字段,並且基於消耗品名稱我想總結髮布數量字段。如何根據C#中的DataGridView中的另一列對行進行計數
我想總結根據消耗品名稱發佈的數量,並將總數與需要的數量進行比較它們是如此之多的易耗品名稱。我的問題如何計算發佈數量根據的消耗品名稱。 我試過了,最後我得到了答案,這在邏輯上是我無法解釋的。
我在這三個列中有7列是ReadOnly字段,並且基於消耗品名稱我想總結髮布數量字段。如何根據C#中的DataGridView中的另一列對行進行計數
我想總結根據消耗品名稱發佈的數量,並將總數與需要的數量進行比較它們是如此之多的易耗品名稱。我的問題如何計算發佈數量根據的消耗品名稱。 我試過了,最後我得到了答案,這在邏輯上是我無法解釋的。
1)創建一個字符串列表,其中包含'耗材名稱'列的所有行。填寫姓名。
2)創建一個整數列表,等於上述列表中的項目數。填寫數量。
3)根據(1)創建不同的字符串列表。
4)創建一個等於(3)中項目數量的整數列表。
5)進入每個不同的元素,並獲得相關匹配'消費品名稱'並添加數量。
6)如果您希望比較或檢查其他列,您可以執行類似的步驟。
你可以參考下面的代碼:
public void getQuantity()
{
List<string> consumbleNames = new List<string>();
List<int> quantity = new List<int>();
//Cells[5] refer to 6th column : Quantity issued: you can use column name too
for (int i = 0; i < yourDataGridView.Rows.Count; i++)
{
consumbleNames.Add(yourDataGridView.Rows[i].Cells[0].Value.ToString());
quantity.Add((int)Convert.ToInt32(yourDataGridView.Rows[i].Cells[5].Value.ToString()));
}
List<string> distinctNames = new List<string>(consumbleNames.Distinct());
List<int> quantityRelated = new List<int>(distinctNames.Count);
for (int i = 0; i < distinctNames.Count; i++)
{
quantityRelated.Add(new int());
for (int j = 0; j < consumbleNames.Count; j++)
{
if (consumbleNames[j].Equals(distinctNames[i]))
{
quantityRelated[i] += quantity[j];
}
}
}
foreach (int t in quantityRelated)
{
/* quantity corresponds to the each distinct item */
}
}
你有沒有嘗試什麼嗎?請閱讀[常見問題]和[問] –
我正在尋找如何基於另一列對列中的值進行求和。 – Anjali