C# gridview 模版列的应用,弄成大标题下有小标题的,如下图,我的数据是动态绑定的,小标题的数据怎么弄
2个回答
展开全部
<asp:TemplateField HeaderStyle-Width="400px">
<HeaderTemplate>
<table width="100%" align="center">
<tr>
<td colspan="2" width="100%">
</td>
</tr>
<tr>
<td width="30%">
文件名
</td>
<td width="30%">
存储路径
</td>
</tr>
</table>
</HeaderTemplate>
<ItemTemplate>
<table width="100%">
<tr>
<td width="30%">
<%# Eval("Pdf_Name")%>
</td>
<td width="30%">
<%# Eval("Pdf_Path")%>
</td>
</tr>
</table>
</ItemTemplate>
<HeaderStyle Width="450px"></HeaderStyle>
</asp:TemplateField>
这样写,效果如图:
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
gridview上加上 OnRowCreated="gdvFaultList_RowCreated"
后台方法里
protected void gdvFaultList_RowCreated(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.Header)
{
//获取表头所在行的所有单元格
TableCellCollection tcHeader = e.Row.Cells;
//清除自动生成的表头
tcHeader.Clear();
tcHeader.Add(new TableHeaderCell());
tcHeader[0].RowSpan = 2;
tcHeader[0].Wrap = false;
tcHeader[0].Text = "姓名";
tcHeader.Add(new TableHeaderCell());
tcHeader[1].ColumnSpan= 2;
tcHeader[1].Wrap = false;
tcHeader[1].Text = "总标题";
tcHeader.Add(new TableHeaderCell());
tcHeader[2].RowSpan = 2;
tcHeader[2].Wrap = false;
tcHeader[2].Text = "年龄";
tcHeader.Add(new TableHeaderCell());
tcHeader[3].Wrap = false;
tcHeader[3].Text = "标题1";
tcHeader.Add(new TableHeaderCell());
tcHeader[4].Wrap = false;
tcHeader[4].Text = "标题2";
}
}
列按照1,2,3,4,5个tcHeader绑
后台方法里
protected void gdvFaultList_RowCreated(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.Header)
{
//获取表头所在行的所有单元格
TableCellCollection tcHeader = e.Row.Cells;
//清除自动生成的表头
tcHeader.Clear();
tcHeader.Add(new TableHeaderCell());
tcHeader[0].RowSpan = 2;
tcHeader[0].Wrap = false;
tcHeader[0].Text = "姓名";
tcHeader.Add(new TableHeaderCell());
tcHeader[1].ColumnSpan= 2;
tcHeader[1].Wrap = false;
tcHeader[1].Text = "总标题";
tcHeader.Add(new TableHeaderCell());
tcHeader[2].RowSpan = 2;
tcHeader[2].Wrap = false;
tcHeader[2].Text = "年龄";
tcHeader.Add(new TableHeaderCell());
tcHeader[3].Wrap = false;
tcHeader[3].Text = "标题1";
tcHeader.Add(new TableHeaderCell());
tcHeader[4].Wrap = false;
tcHeader[4].Text = "标题2";
}
}
列按照1,2,3,4,5个tcHeader绑
追问
明天我去试一下,但是我还想问一下:上面的tcHeader[1] 就是总标题 怎么跟tcHeader[3] tcHeader[4] 标题1 标题2 联系在一起了?我看基本上是同样的代码,
追答
其实就是后台对表头设定样式,0,2通过RowSpan 设定高度为2格,1,4,5高度为1格,1设定ColumnSpan=2即1的列宽为两列,这样就达到你要的效果了,4,5会优先填到1的下面
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询