Как отобразить запись в gridview, используя событие загрузки страницы в vb.net? - PullRequest
0 голосов
/ 23 января 2011

Как отобразить запись в gridview, используя событие загрузки страницы в vb.net?

Я хочу использовать два SqlDatasource1 и sqldatasource 2 для отображения записи в одном gridview1

SqlDatasource1 отобразит все записи из tabelгде SqlDatasource будет использоваться для отображения конкретного поиска записей в таблице 1, но как это сделать?

1 Ответ

0 голосов
/ 23 января 2011

Я не уверен, почему вы хотите отобразить все записи из таблицы, кроме записей, которые принадлежат определенному фильтру в этой таблице. Как вы хотите уточнить, что фильтруется и что нефильтрованная часть?

Вы можете использовать UNION ALL для объединения двух наборов результатов. Вы также можете добавить столбец, который содержит логическое значение, если он принадлежит отфильтрованному набору. Таким образом, вы сможете добавлять в строки различные CssClass в соответствии со значением этого столбца из RowDataBound в Codebehind.

Например:

SELECT Foo.*,0 AS IsFiltered FROM Foo
UNION ALL 
SELECT Foo.*,1 AS IsFiltered FROM Foo
where Name like 's%

Для этого вам нужен только один источник данных SQL.

Чтобы установить другой CssClass для отфильтрованных записей:

 Private Sub GridRowDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles GridView1.RowDataBound
     If e.Row.RowType = DataControlRowType.DataRow Then
         Dim row As DataRowView = DirectCast(e.Row.DataItem, DataRowView)
         Dim isFiltered As Boolean = CType(row("IsFiltered"), Boolean)
         If isFiltered Then e.Row.CssClass = "FilteredRecords"
     End If
 End Sub

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