2011-01-23 15 views
0

vb.netでpageloadイベントを使用してgridviewでレコードを表示する方法は?vb.netでpageloadイベントを使用してgridviewでレコードを表示する方法は?

は、私は2つのSqlDatasource1を使用したいとSqlDataSourceコントロール2は、単一のgridview1でレコードを表示する

SqlDatasource1は、SqlDataSourceコントロールとして表1にparticuarレコード検索を表示するために使用されますが、どのようにこれを行うにはtabelからすべてのレコードが表示されますか?

答えて

0

なぜそのテーブルの特定のフィルタに属するレコードのほかに、テーブルからすべてのレコードを表示するかわかりません。どのようにフィルタリングされ、何がフィルタリングされていない部分を明確にしたいのですか?

UNION ALLを使用すると、2つの結果セットを組み合わせることができます。フィルターされたセットに属している場合は、ブール値を含む列を追加することもできます。このようにして、Codebehind内のRowDataBoundのこの列の値に従って、異なるCssClassを行に追加することができます。例えば

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

あなたが唯一このように1つの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を設定するには
関連する問題