왜 그 테이블에있는 특정 필터에 속한 레코드 외에 테이블의 모든 레코드를 표시할지 모르겠습니다. 필터링 된 부분과 필터링되지 않은 부분이 무엇인지 명확하게 알고 싶습니까?
UNION ALL을 사용하여 두 결과 집합을 결합 할 수 있습니다. 필터링 된 집합에 속하면 부울을 포함하는 열을 추가 할 수도 있습니다. 이 방법으로 Codebehind의 RowDataBound에서이 열 값에 따라 다른 CssClass을 행에 추가 할 수 있습니다. 예를 들어
:
SELECT Foo.*,0 AS IsFiltered FROM Foo
UNION ALL
SELECT Foo.*,1 AS IsFiltered FROM Foo
where Name like 's%
에만이 방법에 대한 하나의 SQL-데이터 소스가 필요합니다.
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
'
:
필터링 된 레코드에 대한 다른 CssClass을 설정하려면