2009-07-22 14 views
1

Ich habe eine Gridview, die Zeilen im Bearbeitungsmodus sein sollte. Das hebt mehr oder weniger die Verwendung eines Repeaters auf, denke ich.ASP.net gridview multirow detaillierte header

Die Sache ist, der Header ist "speziell". Es sollte mehrere Zeilen mit einigen Zellen haben, die sich über mehrere Spalten erstrecken. ein Beispiel:

 
| availability monitoring | monitoring | 

| colu 1 | colu 2 | colu 3 | col 4 | col 5 | 

(1, 2 und 3 sind Teile von Kalender, 4 und 5 der üblichen Überwachung)

Unter Berücksichtigung der Tatsache, dass vier Zeilen im Header gibt es ich im Sinne habe.

Gibt es eine Möglichkeit, diese Art von Header mit der Option zu bearbeiten?

Antwort

1

zuerst die Spalten, die Sie Kontrollen in in Templat Spalten haben werden. Dann können Sie alles, was Sie dort wollen haben - eine Tabelle, Textfelder, Ankreuzfelder usw.

<HeaderTemplate> 
<asp:TextBox ID="TextBox1" runat="server" Text=''></asp:TextBox> 
<asp:CheckBox ID="CheckBox1" runat="server" /> 
</HeaderTemplate> 

Sie haben dann weitere Kontrolle im RowDataBound Ereignis:

protected void gv_RowDataBound(object sender, GridViewRowEventArgs e) 
    { 
    if (e.Row.RowType != DataControlRowType.Header) 
      return; 

    // let the third column span over the next 2 columns. 
    e.Row.Cells[2].ColumnSpan = 3; 
    e.Row.Cells[3].Visible = false; 
    e.Row.Cells[4].Visible = false; 

    // could span more than 1 row. 
    e.Row.Cells[2].RowSpan = 2; 

etc ...

Gemeinsam haben Sie die volle Kontrolle über Ihren Header-Bereich.