Essaie avec ce code behind. En gros, on rajoute un header et ensuite on va masquer des cellules afin de pouvoir jouer sur le rowspan et le colspan :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94
| protected void gridView_RowCreated(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.Header)
{
var gv = (GridView)sender;
// Create a new Row
var headerRow = new GridViewRow(0, 0, DataControlRowType.Header, DataControlRowState.Insert);
var headerCell = new TableCell();
// Add empty column
headerCell = new TableCell();
headerCell.Text = "";
headerCell.HorizontalAlign = HorizontalAlign.Center;
headerCell.RowSpan = 2;
headerRow.Cells.Add(headerCell);
// Add Num OF column
headerCell = new TableCell();
headerCell.Text = "Num OF";
headerCell.HorizontalAlign = HorizontalAlign.Center;
headerCell.RowSpan = 2;
headerRow.Cells.Add(headerCell);
// Add Num Seq column
headerCell = new TableCell();
headerCell.Text = "Num Seq";
headerCell.HorizontalAlign = HorizontalAlign.Center;
headerCell.RowSpan = 2;
headerRow.Cells.Add(headerCell);
// Add Article column
headerCell = new TableCell();
headerCell.Text = "Article";
headerCell.HorizontalAlign = HorizontalAlign.Center;
headerCell.RowSpan = 2;
headerRow.Cells.Add(headerCell);
// Add Qté OF Prévue column
headerCell = new TableCell();
headerCell.Text = "Qté OF Prévue";
headerCell.HorizontalAlign = HorizontalAlign.Center;
headerCell.RowSpan = 2;
headerRow.Cells.Add(headerCell);
// Add Qté OF Revue column
headerCell = new TableCell();
headerCell.Text = "Qté OF Revue";
headerCell.HorizontalAlign = HorizontalAlign.Center;
headerCell.RowSpan = 2;
headerRow.Cells.Add(headerCell);
// Add Composant column
headerCell = new TableCell();
headerCell.Text = "Composant";
headerCell.HorizontalAlign = HorizontalAlign.Center;
headerCell.RowSpan = 2;
headerRow.Cells.Add(headerCell);
// Add Restant à assigner column
headerCell = new TableCell();
headerCell.Text = "Restant à assigner";
headerCell.HorizontalAlign = HorizontalAlign.Center;
headerCell.RowSpan = 2;
headerRow.Cells.Add(headerCell);
// Add Assignation HU column
headerCell = new TableCell();
headerCell.Text = "Assignation HU";
headerCell.HorizontalAlign = HorizontalAlign.Center;
headerCell.ColumnSpan = 3;
headerRow.Cells.Add(headerCell);
// Add Header Row to the GridView
gv.Controls[0].Controls.AddAt(0, headerRow);
}
}
protected void gridView_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.Header)
{
e.Row.Cells[0].Visible = false;
e.Row.Cells[1].Visible = false;
e.Row.Cells[2].Visible = false;
e.Row.Cells[3].Visible = false;
e.Row.Cells[4].Visible = false;
e.Row.Cells[5].Visible = false;
e.Row.Cells[6].Visible = false;
e.Row.Cells[7].Visible = false;
}
} |
Et bien sûr ne pas oublier de référencer ces méthodes côté ASPX :
<asp:GridView ID="GV" runat="server" OnRowDataBound="gridView_RowDataBound" OnRowCreated="gridView_RowCreated">
Partager