我有一個winforms應用程序,它接受用戶輸入,並將其添加到列表中。此列表然後顯示在列表框中。是否有可能不在每個輸入的列表框中添加新行?
我的問題是,我希望列表框只在一行上顯示一次單個項目。 目前,它應該是這樣的:
Product Price Quantity
Bread 1.20 1
Bread 2.40 2
Bread 3.60 3
Eggs 1.50 1
Eggs 3.00 2
我會把它想顯示:
Product Price Quantity
Bread 3.60 3
Eggs 3.00 2
是否有可能實現這一目標?
private void btnAdd_Click(object sender, EventArgs e)
{
lbBasket.DisplayMember = "ProductName";
try
{
string name = textBoxProduct.Text.ToString();
decimal price = Convert.ToDecimal(textBoxPrice.Text);
int quantity = Convert.ToInt32(textBoxQuantity.Text);
if (string.IsNullOrWhiteSpace(textBoxQuantity.Text))
{
shoppingBasket.AddProduct(name, price);
lbBasket.Items.Add(textBoxProduct.Text);
lbPrice.Items.Add(shoppingBasket.BasketTotal);
lbQuantity.Items.Add(shoppingBasket.NumberOfTotalQuantities);
}
else
{
shoppingBasket.AddProduct(name, price, quantity);
lbPrice.Items.Add(shoppingBasket.BasketTotal);
lbQuantity.Items.Add(shoppingBasket.NumberOfTotalQuantities);
foreach (OrderItem item in shoppingBasket)
{
if (item.ProductName == name)
{
lbBasket.Items.Add(item.ProductName);
}
}
}
}
顯示代碼如何將值添加到列表框 –
您可以不使用字典中添加的項目保持每個獨特項目的價格的運行總計。然後重新綁定列表,每次添加新項目 – owen79
@ RayB151 - 您似乎在使用三個不同的列表框。所以不,我不認爲你可以簡單地達到你想要的。如果你使用單個列表框,那麼是的。但是,如果您要求顯示具有最高值或最高數量的項目(從您的示例推斷),則顯示此數據的兩個列表框之間不存在實際的聯繫。 – Faraday