【发布时间】:2018-03-22 13:24:50
【问题描述】:
我正在尝试列出列表的项目,但我反复显示列表的第一行。该列表应包含三个不同的产品行。相反,ListView 显示相同的第一行 3 次。
我创建这样的列表:
List<ProductsNumber> ProductsNumberList = new List<ProductsNumber>();
ProductsNumber _ProductsNumber = new ProductsNumber();
for (int i= 0; i <= otherlist.Count - 1; i++)
{
_ProductsNumber.ProdId = otherlist[i].ProdName.ToString();
_ProductsNumber.ProductsNumber = (DB_ProductList.Where(Product => Product.ProdId == otherlist[i].ProdName)).Count();
ProductsNumberList.Add(_ProductsNumber);
}
//listView
listBox.ItemsSource = ProductsNumberList;//Binding data to LISTBOX
这是用于填充 List 的类:
public class ProductsNumber
{
public string ProdId { get; set; }
public int ProductsNumber { get; set; }
}
如果你有兴趣:
otherlist
当我在列表视图中列出它时效果很好。
DB_ProductList 的定义如下:
ReadAllProductsList dbproduct = new ReadAllProductsList();
DB_ProductList = dbdproduct.GetAllProducts();
List<Product> ProductList = new List<Product>();
ProductList = DB_ProductList.ToList();
而且效果也很好。 无论如何,我在 ListView 中得到了正确的 ProductNumber。是 ProdId 给我带来了问题。我在 ListView 中确实得到了正确的迭代次数,但它们都是相同的。 ListView 应该列出所有产品,而不是重复相同的产品。
有什么线索吗?
我猜在填充 List 时,同一条记录被插入了 3 次。但为什么呢?
【问题讨论】:
标签: c# list class listview uwp