日期:2014-05-17  浏览次数:20462 次

Repeater,Grid等多层嵌套的分页和导出问题

如图,想用repeater的嵌套做这个效果 ,两个地方想不通

1.分页要 根据最内层的记录数量也就是说 第一页可能只显示1个车间的1个设备 也可能显示多个车间多个设备 这个取决于最内层的监控参数的记录数量 ?

2.导出Excel,以前都是做的没有嵌套的导出,现在数据源个数都不确定如何导出?

求高手指点,重谢
分页导出?嵌套?多层? 分页 导出 嵌套 repeater

------解决方案--------------------
1、分页
    可以倒推,先确定最内层的数据,然后根据最内层的数据查询上一层,最后一直至第一层。
2、导出EXCEL
    这个应该是全部数据一起导出吧。
    类似这样的问题用一个比较简单的办法是输出HTML到客户端,然后通过头信息让浏览保存为xls格式,这样excel打开之后一样可以看到合并的表格。

            HttpContext.Current.Response.Clear();
            HttpContext.Current.Response.Charset = "gb2312";
            HttpContext.Current.Response.ContentEncoding = System.Text.Encoding.Default;
            HttpContext.Current.Response.ContentType = "application/ms-excel";
            HttpContext.Current.Response.AppendHeader("Content-Disposition", "attachment;filename=" +
                HttpContext.Current.Server.UrlEncode(filename));

            HttpContext.Current.Response.Write(html.ToString());
            HttpContext.Current.Response.End();
------解决方案--------------------
1\先做SQL视图,建立几个表的关联
2\用div+css划表格
3\读取数据库,按车间\设备\分类\...排序
4\只有一个for遍历,但要做相关判断,如当前记录的车间是否和上一条记录一样,一样就不用写车间信息
其它类推