дозвуковая коллекция - PullRequest
0 голосов
/ 19 января 2010

Я написал этот код для создания коллекции.Я пытался отфильтровать коллекцию с помощью subsonic.where, но она не работает.На самом деле предложение where будет меняться при вводе пользователем, поэтому я не могу добавить предложение where в sqlquery, а также таблица данных будет заполнена другими данными из коллекции на основе ввода пользователя.Как я могу достичь этого.Кроме того, я хочу, чтобы коллекция не изменялась, чтобы я использовал ее далее для фильтрации с другим предложением where.Кроме того, я выбрал только два столбца, но все столбцы отображаются.Пожалуйста, помогите.

Dim sq As SB.SqlQuery = New SB.Select("product.prodcode as 'Product Code'").From(DB.Product.Schema)
Dim wh As SB.Where = New SB.Where()
Dim prod As DB.ProductCollection = sq.ExecuteAsCollection(Of DB.ProductCollection)()

wh.ColumnName = DB.Product.ServiceColumn.PropertyName
wh.Comparison = SubSonic.Comparison.NotEquals
wh.ParameterValue = System.Decimal.One

Dim tab As DataTable = prod.Where(wh).Filter().ToDataTable()
Me.GridControl1.DataSource = tab

1 Ответ

1 голос
/ 19 января 2010

То, что вы делаете, не имеет особого смысла - куда нужно обратиться к запросу, а затем нажать на БД - так оно и должно работать. Если вы хотите выполнить фильтрацию по факту, вы можете использовать функцию Linq Where (), которая отфильтрует список для вас.

...