Ich versuche, eine neue Headerrow zu einem Gridview hinzuzufügen. Diese Zeile sollte unterhalb der ursprünglichen Kopfzeile erscheinen.Hinzufügen Gridview Row AFTER Header
Soweit ich weiß, dass ich zwei Veranstaltungen zur Auswahl:
1.) Gridview_RowDataBound 2.) Gridview_RowCreated
Option 1 keine Option, da das Netz ist nicht die Daten über jede Bindung Postback. Option 2 funktioniert nicht wie erwartet. Ich kann die Zeile hinzufügen, aber es wird vor der HeaderRow hinzugefügt, da die HeaderRow selbst in diesem Fall noch nicht hinzugefügt wurde ...
Bitte helfen Sie, danke!
Code: (InnerTable Eigenschaft wird durch individuelle gridview ausgesetzt)
Private Sub GridView1_RowDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles GridView1.RowDataBound
If e.Row.RowType = DataControlRowType.Header Then
Dim r As New GridViewRow(-1, -1, DataControlRowType.Header, DataControlRowState.Normal)
For Each c As DataControlField In CType(sender, GridView).Columns
Dim nc As New TableCell
nc.Text = c.AccessibleHeaderText
nc.BackColor = Drawing.Color.Cornsilk
r.Cells.Add(nc)
Next
Dim t As Table = GridView1.InnerTable
t.Controls.Add(r)
End If
End Sub
Nein, das funktioniert nicht. Gleiches Problem wie bei Option 1 in meiner ersten Frage ... – Ropstah
ist der Code in Ihrer Antwort der richtige Code? Ich habe das gleiche Problem. – Eric
Ich habe es geschafft zu arbeiten ... In meinem Fall musste ich die CreateRow-Funktion kennen, mit der ich die benötigte Funktionalität aufbauen konnte. Viel Glück. – Ropstah