【发布时间】:2019-06-12 09:57:01
【问题描述】:
当网格以 Excel 文件格式导出时,有什么方法可以在 kartid\grid\GridView 中包含标题?
我感兴趣的不仅是从网格中导出数据,还有网格的类型。一种方法是相应地命名导出的文件,但这不是首选方式。 在实际数据上方的单元格中添加一些标题就可以了。然而,在 GridView 的标准实现中,这种能力似乎并不存在。
【问题讨论】:
当网格以 Excel 文件格式导出时,有什么方法可以在 kartid\grid\GridView 中包含标题?
我感兴趣的不仅是从网格中导出数据,还有网格的类型。一种方法是相应地命名导出的文件,但这不是首选方式。 在实际数据上方的单元格中添加一些标题就可以了。然而,在 GridView 的标准实现中,这种能力似乎并不存在。
【问题讨论】:
我只是在互联网上搜索相同的解决方案,并通过了解 kartik gridview 导出的工作原理发现了我自己的解决方案,所以这就是答案。
Kartik GridView 导出,使用已注册的模块和控制器,您可以在 kartik\grid\controllers\ExportController 上找到它们
它的导出方式是使用 post 将 html 表格内容发送到导出控制器,然后设置一个与您选择的导出类型相对应的响应头。
这样,您可以通过添加 row(tr) 或 column(td) 来即时修改您的 htm 表格内容,因为它在您单击导出时直接发布。
使用 jquery 添加标题的示例:
$("<tr><td colspan='7'>Your Header Title Here</td></tr>").prependTo('thead');
colspan='7'假设你的表格有7列,所以它会被合并到中心。
如果你想隐藏标题,而不是在导出的。
$("<tr style='visibility: collapse'><td colspan='7'>Your Header Title Here</td></tr>").prependTo('thead');
【讨论】: