Поиск в Gridview с источником данных DataTable - PullRequest
3 голосов
/ 27 мая 2009

У меня есть gridview, который получает данные от веб-службы.

Это входит в приложение в наборе данных.

   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()

Мне нужно было получить результаты и клонировать таблицу данных, чтобы получить схему. Затем я сделал выбор из исходных данных. Я просмотрел результаты и добавил их в клонированную таблицу данных.

1 Ответ

5 голосов
/ 27 мая 2009

Обычно вы будете искать источник данных напрямую, поэтому в вашем случае, поскольку TheWebServiceSearch.AddressDataTable является DataTable, вы можете сделать следующее:

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

Вы можете просмотреть полный список DataTable. Выберите перегрузки здесь


Хорошо, теперь я вижу, что тебе нужно. Я думал, что вы хотели что-то еще. В любом случае для вашей цели вы должны использовать объект 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()

Взгляните на полную спецификацию DataView .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...