2行目のヘッダー行を表示するために必要なasp:GridViewがあります。月曜日、火曜日などの最初の日と、 'と' Overtime '。asp:HTMLを使用した複数のヘッダー行を持つGridView
グリッドビュー_RowDataBoundにコードを動的に追加することでこれを行いました。問題は、ページが再ロード/ポストバックしたときに追加した行が崩壊し、GridViewでも使用されていたjavascript関数が呼び出されなくなりました。 。これは時々起こるようですが、理由はわかりません。
ページは基本的にタイムシートの入力フォームです。ユーザーはdatepickerから日付を選択します(ページが再ロードされ、これはいつか狂ったように見えます)。次のコードを使用して
:
これは私のグリッドは、今のように見えるものである
Table tbl = e.Row.Parent as Table;
var row = new GridViewRow(0, 0, DataControlRowType.Header, DataControlRowState.Normal);
TableCell cell = new TableCell();
cell.Text = "";
cell.ColumnSpan = 3;
row.Cells.Add(cell);
cell = new TableCell();
cell.Text = "Monday";
cell.ColumnSpan = 2;
cell.HorizontalAlign = HorizontalAlign.Center;
row.Cells.Add(cell);
cell = new TableCell();
cell.Text = "Tuesday";
cell.ColumnSpan = 2;
cell.HorizontalAlign = HorizontalAlign.Center;
row.Cells.Add(cell);
cell = new TableCell();
cell.Text = "Wednesday";
cell.ColumnSpan = 2;
cell.HorizontalAlign = HorizontalAlign.Center;
row.Cells.Add(cell);
cell = new TableCell();
cell.Text = "Thursday";
cell.ColumnSpan = 2;
cell.HorizontalAlign = HorizontalAlign.Center;
row.Cells.Add(cell);
cell = new TableCell();
cell.Text = "Friday";
cell.ColumnSpan = 2;
cell.HorizontalAlign = HorizontalAlign.Center;
row.Cells.Add(cell);
cell = new TableCell();
cell.Text = "Saturday";
cell.ColumnSpan = 2;
cell.HorizontalAlign = HorizontalAlign.Center;
row.Cells.Add(cell);
cell = new TableCell();
cell.Text = "Sunday";
cell.ColumnSpan = 2;
cell.HorizontalAlign = HorizontalAlign.Center;
row.Cells.Add(cell);
cell = new TableCell();
cell.Text = "";
cell.ColumnSpan = 2;
row.Cells.Add(cell);
tbl.Rows.AddAt(tbl.Rows.Count - 1, row);
しかし、私はグリッドを得ることができ、とにかくありますかどうかは知りたいのですがコードビハインドではなく、HTMLでそのように見える画像は、グリッドを何か他のものよりも壊しているようだからです。
おかげ
(私は 'ノーマル'/'OT' ヘッダー行が使用してHTMLに設定されていることを追加する必要があります:
<asp:TemplateField HeaderText="OT" HeaderStyle-HorizontalAlign="Center">
ListViewは、3.0+を使用できると仮定した場合、より良い選択です – ScottE