private List<ProductItem> productitems = new List<ProductItem>();
productitems.Clear();
foreach (ProductSize ss in checkListSize.CheckedItems)
{ productitem.SizeId = ss.Id;
foreach (ProductColor cc in checkListColor.CheckedItems)
{
productitem.SizeId = cc.Id;
continue;
}
productitem.ProductId = GetSetProductID;
productitem.SafeStockQuantity = double.Parse(txtSafeStockQuantity.Text.ToString());
productitem.Dscription = txtDscriptionItem.Text;
productitems.Add(productitem);
}我的productitems始终是重复的。该怎么解决啊
productitems.Clear();
foreach (ProductSize ss in checkListSize.CheckedItems)
{ productitem.SizeId = ss.Id;
foreach (ProductColor cc in checkListColor.CheckedItems)
{
productitem.SizeId = cc.Id;
continue;
}
productitem.ProductId = GetSetProductID;
productitem.SafeStockQuantity = double.Parse(txtSafeStockQuantity.Text.ToString());
productitem.Dscription = txtDscriptionItem.Text;
productitems.Add(productitem);
}我的productitems始终是重复的。该怎么解决啊
productitem.SizeId = ss.Id;
foreach (ProductColor cc in checkListColor.CheckedItems)
{
productitem.SizeId = cc.Id;
continue;
}
无异于
productitem.SizeId = checkListColor.CheckedItems.Last().Id
最后得出的SizeId都是一样的
{
ServiceAdapter<IBasicDataService> bs = new ServiceAdapter<IBasicDataService>();
ServiceAdapter<IProductService> es = new ServiceAdapter<IProductService>();
private List<ProductItem> productitems = new List<ProductItem>();
private ProductItem productitem = new ProductItem();
public frmQuitEditProductItems()
{
InitializeComponent();
GetCheckBoxVale();
}
foreach (ProductSize ss in checkListSize.CheckedItems)
{ productitem.SizeId = ss.Id;
foreach (ProductColor cc in checkListColor.CheckedItems)
{
productitem.SizeId = cc.Id;
continue;
}
productitem.ProductId = GetSetProductID;
productitem.SafeStockQuantity = double.Parse(txtSafeStockQuantity.Text.ToString());
productitem.Dscription = txtDscriptionItem.Text;
productitems.Add(productitem);
}代码写的有问题,每次跳出循环就清空,然后下次又进了循环,应该把添加的代码写在循环体的外面去。
productitem.SafeStockQuantity = double.Parse(txtSafeStockQuantity.Text.ToString());
productitem.Dscription = txtDscriptionItem.Text;
productitems.Add(productitem);
这段代码写在循环体外面去
productitems.Add(productitem);
productitem 这个加到productitems这个之前,一定要每次都要实例化因为productitems这个是包含N个productitem这个的对象化,如果不实例化,虽然你的值变了,但是引用的依然是一个对象,所以一直都是重复。
直接定义估计是不行的。你要把ProductItem productitem = new ProductItem();这个拿到循环里面去,每次都是一个新的对象,添加到ProductItems里面去
public List <CompanyBank> getbankaccount
{
get
{
companybanks.Clear();
foreach (TreeListNode ss in treeList1.Nodes)
{ if (ss.GetValue("Id").ToString() == "0")
{
CompanyBank cb = new CompanyBank();
cb.BankName = ss.GetValue("BankName").ToString();
cb.BankAccount = ss.GetValue("BankAccount").ToString();
companybanks.Add(cb);
}
}
return companybanks;
}
set
{
// companybanks = value;
//treeList1.Nodes
// e.Node.GetValue(0).ToString();
}
}
同样是在外面定义的,但是add是不同值!。