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;
            }
        }

 

posted on 2012-03-13 18:30  冷月孤峰  阅读(2376)  评论(0)    收藏  举报