2011-01-23 5 views
0

vb.net에서 pageload 이벤트를 사용하여 gridview에서 레코드를 표시하는 방법은 무엇입니까?vb.net에서 pageload 이벤트를 사용하여 gridview에서 레코드를 표시하는 방법은 무엇입니까?

내가 두 SqlDatasource1를 사용 싶어과의 SqlDataSource 2는 단일 gridview1에 기록을 표시

SqlDatasource1가의 SqlDataSource 표 1 particuar 기록 검색을 표시하는 데 사용됩니다하지만 어떻게이 일을 tabel의 모든 레코드를 표시 할 것인가?

답변

0

왜 그 테이블에있는 특정 필터에 속한 레코드 외에 테이블의 모든 레코드를 표시할지 모르겠습니다. 필터링 된 부분과 필터링되지 않은 부분이 무엇인지 명확하게 알고 싶습니까?

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을 설정하려면
관련 문제