我有一个asp:GridView,我需要显示2个标题行...第一个是天(例如星期一,星期二等),第二个是显示'正常时间'和'加班'。
我通过动态地将代码添加到gridview_RowDataBound来完成此操作,问题是当页面重新加载/执行回发然后我添加的行消失并且GridView不再触发其上使用的javascript函数。这有时似乎只会发生,我不知道为什么。
该页面基本上是一个时间表输入表单。用户从日期选择器中选择一个日期(该页面然后重新加载,这是有时似乎疯狂的事情)。
这就是我的网格现在的样子:
使用以下代码:
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">
答案 0 :(得分:0)
您可以在&lt; EditItemTemplate&gt;中执行以下操作标记:
<EditItemTemplate>
<table>
<tr>
<td colspan=2>Monday</td >
<td colspan=2>Tuesday</td >
<td colspan=2>Wednesday</td >
<td colspan=2>Thursday</td >
<td colspan=2>Friday</td >
<td colspan=2>Saturday</td >
<td colspan=2>Sunday</td >
</tr>
<tr>
<td>Normal</td>
<td>OT</td>
<td>Normal</td>
<td>OT</td>
...
...
...
</tr>
<tr>
<TD><asp:Textbox ID="txtBox1" runat="server"/></TD>
<TD><asp:Textbox ID="txtBox2" runat="server"/></TD>
<TD><asp:Textbox ID="txtBox3" runat="server"/></TD>
<TD><asp:Textbox ID="txtBox4" runat="server"/></TD>
...
...
...
</tr>
</table>
</EditItemTemplate>
您可以在......(点点)
中填写其余部分希望这会有所帮助:)