2012-01-06 3 views
1

У меня есть DataTableVB.NET Query Datatable

|------------| 
| id | x | y | 
|------------| 
| 1 | 1 | 1 | 
| 2 | 1 | 2 | 
| 3 | 2 | 1 | 
| 4 | 2 | 2 | 
|------------| 

Я хотел бы отфильтровать DataTable по значению х, чтобы придумать новые DataTable

if x = 1 
|------------| 
| id | x | y | 
|------------| 
| 1 | 1 | 1 | 
| 2 | 1 | 2 | 
|------------| 

or x = 2 
|------------| 
| id | x | y | 
|------------| 
| 3 | 2 | 1 | 
| 4 | 2 | 2 | 
|------------| 

запросов населенных наборов данных и DataTables все еще сбивают меня с толку. Спасибо за вашу помощь.

+0

любезно проверить мой ответ на предыдущий вопрос http://stackoverflow.com/questions/8749526/vb- net-databinding-from-2-tables –

+0

любезно проверьте мой ответ на ваш предыдущий вопрос http://stackoverflow.com/questions/8749526/vb-net-databinding-from-2-tables –

ответ

1

Вы можете попробовать создать новый DataTable и клонировать оригинал, чтобы вызвать схему и ограничения. Затем отфильтруйте строки и добавьте их в новый DataTable.

Dim newDT As DataTable = oldDT.Clone() 

Dim filter As string = "x = 1"; 

//get the rows from the that have been filtered 
DataRow[] filteredRows = oldDT.Select(filter); 

//add the rows to the new datatable 
For Each dr As DataRow In filteredRows 
    newDT.ImportRow(dr) 
Next