我有一个gridview,可以从webservice获取数据。
这将进入数据集中的应用程序。
Me.GvStreets.DataSource = TheWebServiceSearch.AddressDataTable
Me.GvStreets.DataBind()
进入网格视图后,如何搜索此数据集的内容。
我是否必须将其添加到某种数据源控件(如XML数据源)?
由于
我最终做的是......
Dim StreetDataTable As DataTable = Session("StreetData")
Dim Name As String = StreetDataTable.Columns(0).ColumnName
Dim FilteredResults As New DataTable
FilteredResults = StreetDataTable.Clone()
Dim DataRows() As DataRow
DataRows = StreetDataTable.Select("street LIKE '%" & Me.txtStreet.Text & _
"%'", "Street ASC")
Dim i As Integer
For i = 0 To DataRows.GetUpperBound(0)
FilteredResults.ImportRow(DataRows(i))
Next i
Me.GvStreets.DataSource = FilteredResults
Me.GvStreets.DataBind()
我必须得到结果并克隆数据表才能获得架构。然后我从原始数据表中做了选择。我循环查看结果并将它们添加到克隆数据表中。
答案 0 :(得分: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()