2009-05-27 106 views
3

我有一個從web服務獲取數據的gridview。用DataTable Datasource搜索GridView

這是數據集中的應用程序。

Me.GvStreets.DataSource = TheWebServiceSearch.AddressDataTable 
    Me.GvStreets.DataBind() 

一旦在網格視圖中,我該如何搜索此數據集的內容。

我是否必須將它添加到某種數據源控件,如XML數據源?

感謝

我最終什麼事做了這個......

​​

我得的結果和克隆的數據表來獲取架構。然後我從原始數據表中做了選擇。我遍歷結果並將它們添加到克隆的數據表中。

回答

5

通常你會直接搜索你的數據源,所以你的情況,因爲TheWebServiceSearch.AddressDataTable是一個DataTable,你可以做到以下幾點:

DataTable data = TheWebServiceSearch.AddressDataTable; 
DataRow[] foundRows = data.Select("city = 'NY'", "zip ASC"); 

您可以檢查出DataTable.Select重載的完整列表here


好吧,現在我明白你的需要了。我以爲你想要別的東西。無論如何,爲了你的目的,你應該使用DataView對象(它也是可綁定的)。這裏有一個例子:

Dim StreetDataTable As DataTable = Session("StreetData") 
Dim Name As String = StreetDataTable.Columns(0).ColumnName 
StreetDataTable.DefaultView.RowFilter = "street LIKE '%" & Me.txtStreet.Text & "%'" 
StreetDataTable.DefaultView.Sort = "Street ASC" 

Me.GvStreets.DataSource = StreetDataTable.DefaultView 
Me.GvStreets.DataBind() 

看看complete specification of DataView

+0

如果我要搜索多列並需要通配符,這可能會怎樣? – Paul 2009-05-27 15:04:55