1

私はしばらくこれを行う方法に苦労してきました。私が使用するasp.netのリストボックスは次のようになります。

<asp:ListBox ID="lstLinkedProspect" runat="server" SelectionMode="Multiple" />

私がやりたいのは、リストボックスにあるものを除いて、特定のテーブルにあるすべてのアイテムを選択できるようにすることです。選択したアイテムだけでなく、すでにリストにあるすべてのアイテム。System.Linq.Dynamic ライブラリを使用します。これが私がやろうとしていることです:

Dim lstProspect = dbConnection.Prospects.Where(If(String.IsNullOrWhiteSpace(SearchFilters.Value), "ProspectId > 0", SearchFilters.Value).ToString) _
                                                .Except(' There goes all the items in the list box)

私がすでに試したことは次のとおりです。

Dim lstProspect = dbConnection.Prospects.Where(If(String.IsNullOrWhiteSpace(SearchFilters.Value), "ProspectId > 0", SearchFilters.Value).ToString) _
                                                .Except(lstLinkedProspect.Items.Cast(Of ListItem)().Where(Function(x) x.Value).Cast(Of Beans.Prospect))

リストボックスにないテーブルからすべてのアイテムをLinqで取得することは可能ですか? リストボックス内の ListItem の Value プロパティは ProspectId であることに注意してください。

前もって感謝します。

4

1 に答える 1

1

これは、私が探していたものを達成するために見つけたコードです:

Dim lstItems = dbConnection.Prospects.Where(Function(x) ids.Contains(x.ProspectId))
Dim lstProspect = dbConnection.Prospects.Where(If(String.IsNullOrWhiteSpace(SearchFilters.Value),
"ProspectId > 0", SearchFilters.Value).ToString).Except(lstItems)

これがその問題に苦しんでいる人の助けになることを願っています。

于 2013-11-04T18:49:29.447 に答える