2012-09-14 33 views
0

我想將我的列表框項目傳遞給我的業務層。winforms列表框項目到業務層

//From Save click event 
var toBusiness = new List<string>(); 

foreach (var item in lbProducts.Items) 
{ 
    toBusiness.Add(item.ToString()); 
} 

是這樣做的嗎?

+0

一個更好的辦法來做到這一點是將控件綁定到業務層的對象。例如'lbProducts.Datasource = toBusiness;' –

回答

1

我想事情來自業務層,對嗎?所以你只需要將一些東西傳遞給非gui的業務層,以允許業務層識別它們。如果您的物品具有唯一的ID,那麼您只需傳遞一個List或唯一ID的數組,否則只需傳遞一組物品。

var items = lbProducts.Items.OfType<MyItemType>().ToArray() 
myBusinessLayer.DoSomething(items); 

var ids = lbProducts.Items.OfType<MyItemType>().Select(i => i.ID).ToArray() 
myBusinessLayer.DoSomething(ids);