Asp.net中DataGrid控件多表头的实现
众所周知,多表头的表格经常会遇到,正好最近也遇到这个问题,共享一下,与诸君共勉:
1、先根据要求,设计 好多表头,可在Dreamvever或FrontPage等设计工具中操作。
2、设计好后,去除掉HTML中的<table> 与 </table>
3、在DataGrid的ItemCreated事件中,将刚才去除掉<table> 与 </table>的html代码赋予 DataGrid的Caption, 同时将控件的ShowHeader属性设为false:
private void dgDZD_ItemCreated(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
{
if(e.Item.ItemType==ListItemType.Header)
{
System.Text.StringBuilder sb=new System.Text.StringBuilder();
sb.Append(" <TR align=\"center\" style=\"BACKGROUND-COLOR:#718bd6; COLOR:white; FONT-SIZE:18px\"> ");
// sb.Append(" <TD rowspan=\"2\" style=\"display:none;\"><font size=\"3\">办事处ID</font></TD> ");
// sb.Append(" <TD rowspan=\"2\" style=\"display:none;\"><font size=\"3\">办事处名称</font></TD> ");
sb.Append(" <TD rowspan=\"2\" ><font size=\"3\">年</font></TD> ");
sb.Append(" <TD rowspan=\"2\" ><font size=\"3\">月</font></TD> ");
sb.Append(" <TD rowspan=\"2\" width=\"80px;\"><font size=\"3\">业务发生日期</font></TD> ");
sb.Append(" <TD rowspan=\"2\" width=\"40px;\"><font size=\"3\">编号</font></TD> ");
sb.Append(" <TD rowspan=\"2\" width=\"200px;\"><font size=\"3\">摘要</font></TD> ");
sb.Append(" <TD colSpan=\"7\"><font size=\"3\">本月发货及费用</font></TD> ");
sb.Append(" <TD colSpan=\"3\"><font size=\"3\">本月回笼</font></TD> ");
sb.Append(" </TR> ");
sb.Append(" <TR align=\"center\" style=\"BACKGROUND-COLOR:#718bd6; COLOR:white; FONT-SIZE:18px\"> ");
sb.Append(" <TD width=\"80px;\"><font size=\"3\">发货金额</font></TD> ");
sb.Append(" <TD width=\"80px;\"><font size=\"3\">代垫运费</font></TD> ");
sb.Append(" <TD width=\"80px;\"><font size=\"3\">欠款利息</font></TD> ");
sb.Append(" <TD width=\"80px;\"><font size=\"3\">票款</font></TD> ");
sb.Append(" <TD width=\"80px;\"><font size=\"3\">优惠金额</font></TD> ");
sb.Append(" <TD width=\"80px;\"><font size=\"3\">其他费用</font></TD> ");
sb.Append(" <TD width=\"120px;\"><font size=\"3\">发货及费用合计</font></TD> ");
sb.Append(" <TD width=\"80px;\"><font size=\"3\">货款回笼</font></TD> ");
sb.Append(" <TD width=\"80px;\"><font size=\"3\">存款利息</font></TD> ");
sb.Append(" <TD width=\"80px;\"><font size=\"3\">回款合计</font></TD> ");
sb.Append(" </TR> ");
dgDZD.Caption = " </caption> " + sb.ToString() + " <caption> ";
dgDZD.ShowHeader=false;
}
}
{
if(e.Item.ItemType==ListItemType.Header)
{
System.Text.StringBuilder sb=new System.Text.StringBuilder();
sb.Append(" <TR align=\"center\" style=\"BACKGROUND-COLOR:#718bd6; COLOR:white; FONT-SIZE:18px\"> ");
// sb.Append(" <TD rowspan=\"2\" style=\"display:none;\"><font size=\"3\">办事处ID</font></TD> ");
// sb.Append(" <TD rowspan=\"2\" style=\"display:none;\"><font size=\"3\">办事处名称</font></TD> ");
sb.Append(" <TD rowspan=\"2\" ><font size=\"3\">年</font></TD> ");
sb.Append(" <TD rowspan=\"2\" ><font size=\"3\">月</font></TD> ");
sb.Append(" <TD rowspan=\"2\" width=\"80px;\"><font size=\"3\">业务发生日期</font></TD> ");
sb.Append(" <TD rowspan=\"2\" width=\"40px;\"><font size=\"3\">编号</font></TD> ");
sb.Append(" <TD rowspan=\"2\" width=\"200px;\"><font size=\"3\">摘要</font></TD> ");
sb.Append(" <TD colSpan=\"7\"><font size=\"3\">本月发货及费用</font></TD> ");
sb.Append(" <TD colSpan=\"3\"><font size=\"3\">本月回笼</font></TD> ");
sb.Append(" </TR> ");
sb.Append(" <TR align=\"center\" style=\"BACKGROUND-COLOR:#718bd6; COLOR:white; FONT-SIZE:18px\"> ");
sb.Append(" <TD width=\"80px;\"><font size=\"3\">发货金额</font></TD> ");
sb.Append(" <TD width=\"80px;\"><font size=\"3\">代垫运费</font></TD> ");
sb.Append(" <TD width=\"80px;\"><font size=\"3\">欠款利息</font></TD> ");
sb.Append(" <TD width=\"80px;\"><font size=\"3\">票款</font></TD> ");
sb.Append(" <TD width=\"80px;\"><font size=\"3\">优惠金额</font></TD> ");
sb.Append(" <TD width=\"80px;\"><font size=\"3\">其他费用</font></TD> ");
sb.Append(" <TD width=\"120px;\"><font size=\"3\">发货及费用合计</font></TD> ");
sb.Append(" <TD width=\"80px;\"><font size=\"3\">货款回笼</font></TD> ");
sb.Append(" <TD width=\"80px;\"><font size=\"3\">存款利息</font></TD> ");
sb.Append(" <TD width=\"80px;\"><font size=\"3\">回款合计</font></TD> ");
sb.Append(" </TR> ");
dgDZD.Caption = " </caption> " + sb.ToString() + " <caption> ";
dgDZD.ShowHeader=false;
}
}
浙公网安备 33010602011771号