2

の配列リストarrTotalItemsがありclass Operation.Operationます。

クラスには と の 2 つのプロパティがIDありnameます。今、私はのarraylist arrSelectedItemsIDを含む他のものを持っていますoperations

DataList次に、 の名前に2 つをバインドする必要がありoperationます。

最初DataListは selected にバインドされarraylistます。

その他は、arrSelectedItems にない操作DataListにバインドされます。arrTotalItems - arrSelectedItems

両方のリストをバインドするロジックを見つけることができません

4

1 に答える 1

1

バージョン 3.5 以降の .NET Framework を使用している場合、LINQではSelect()に格納されている ID から操作をarrSelectedItems射影し、 Except()を使用して とこの射影の交点を計算できます。arrTotalItems

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

LINQ メソッドで使用できるのインスタンスを取得するには、最初に に適用Cast<T>()する必要があることに注意してください。ArrayListsIEnumerable<T>

于 2012-12-16T09:22:17.130 に答える