2012-12-16 59 views
2

我有一個陣列列表arrTotalItemsclass Operation.OperationArrayList Filter邏輯

該課程有兩個屬性,一個是IDname。 現在我有包含的operations

ID等arraylist arrSelectedItems現在,我必須綁定兩個DataListoperation名。

第一個DataList將綁定到選定的arraylist

其他DataList將綁定到arrTotalItems - arrSelectedItems那些不在arrSelectedItems中的操作。

無法找到如何如果您使用3.5或.NET Framework的更高版本的綁定兩個列表

+0

如果你放上類聲明,它會比用幾行描述它們更生動。 –

回答

1

邏輯,LINQ允許您從存儲在arrSelectedItemsSelect()的ID項目運營,然後用Except()計算arrTotalItems這個投影之間的交集:

IEnumerable<Operation> totalOps = arrTotalItems.Cast<Operation>(); 
yourDataList.DataSource = totalOps.Except(arrSelectedItems.Cast<string>().Select(
    id => totalOps.Where(op => op.ID == id).FirstOrDefault())); 

注意你首先必須申請Cast<T>()ArrayLists,以獲得IEnumerable<T>日的情況下, at可以和LINQ方法一起使用。