2012-04-04 7 views
1

Ich habe eine Gridview, die Benutzerinformationen enthält und eine der Spalten ist ein Datum, wenn der Benutzer dem System hinzugefügt wurde.Filtern von Zeilen in einer Rasteransicht

Ist es möglich, die Methode GridView.onRowCreated zu verwenden, um zu überprüfen, ob der Benutzer innerhalb eines bestimmten Zeitraums hinzugefügt wurde? Wenn der Benutzer innerhalb dieses Zeitrahmens hinzugefügt wurde, wird die Zeile hinzugefügt. Ist dies nicht der Fall, wird diese Zeile nicht hinzugefügt.

Beachten Sie, dass ich die Datenquelle der Gridview nicht ändern kann, also muss ich dies irgendwie tun, während die Gridview erstellt wird.

+2

Verwenden Sie rowdatabound Ereignis, um den Benutzer zu erfassen ** http: //msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.gridview.rowdatabound.aspx** –

+1

"Kann die Datenquelle "Sind Sie sicher, das macht keinen Sinn. – Magnus

+1

Ich sehe, wie ich RowDataBound verwenden kann, um den Stil einer Zeile zu ändern, aber ich kann nicht herausfinden, wie die Gridview tatsächlich angezeigt wird oder die Zeile basierend auf einer Bedingung anzuzeigen - danke – SkyeBoniwell

Antwort

1

Sie RowBoundData verwenden können und teh Reihe setzen auf der Grundlage Ihrer bestimmten Bedingung ist

Protected Sub GridView_RowDataBound(sender As Object, e As GridViewRowEventArgs) 
    If e.Row.RowType = DataControlRowType.DataRow Then 
     e.Row.Visible = True ' base on some condition 
    End If 
End Sub 

Eine andere Methode verstecken Sie Ihre Daten zu filtern. Übergeben Sie den Filterausdruck in der unteren Funktion und Sie erhalten die gewünschte Ausgabe zurück. Sie können dies vor dem Binden tun.

1

Sie können Ihre Gridview-Datenquelle herausfiltern und an Gridview binden, hängt davon ab, wo Sie sich in der Datumsspalte befinden. Dies wird eine einfache Lösung sein, als eine Bedingung für das Gridview-Ereignis zu setzen.

Prost !!

Verwandte Themen