我在使用Datatables的TableTools插件保存CSV时进行了一些测试。
我注意到它可以节省一切。它不关心您是否过滤了行,也不关心是否隐藏了某些列。
有没有办法只保存可见列中的数据?
答案 0 :(得分:14)
您希望在定义buttons时使用mColumns
。
文档中的一个例子:
$(document).ready( function () {
$('#example').dataTable( {
"sDom": 'T<"clear">lfrtip',
"oTableTools": {
"aButtons": [
{
"sExtends": "csv",
"sButtonText": "Special columns",
"mColumns": [ 0, 1, 4 ]
},
{
"sExtends": "csv",
"sButtonText": "Visible columns",
"mColumns": "visible"
}
]
}
} );
} );
这定义了两个将导出为CSV文件的按钮。标记为Special columns
的第一个只会导出列0,1,4
。标有Visible columns
的第二个按钮将导出所有可见的列。
mColumns
参数在文档中描述如下:
参数可以是值为&#39; all&#39;,&#39; visible&#39;的字符串, &#39;隐藏&#39;或者&#39; sortable&#39; - 或列的整数数组 要导出的索引。
此功能在1.10版本中并不新增。如果您尚未升级,它也可以在older version中使用。
答案 1 :(得分:5)
只是为了完成...在最新版本的DataTables上,它略有不同(这里是documentation):
$(document).ready(function() {
$('#example').DataTable( {
dom: 'Bfrtip',
buttons: [
{
extend: 'print',
exportOptions: {
columns: ':visible'
}
},
'colvis'
],
columnDefs: [ {
targets: -1,
visible: false
} ]
} );
} );
答案 2 :(得分:0)
只需添加一些我的方案所需的选项,这可能对某人有用。
将多个参数传递给列,并使用 not()排除具有类的列:
void Main()
{
var vApp = MyExtensions.GetRunningVisio();
var vPag = vApp.ActivePage;
var shp1 = vPag.DrawRectangle(2,5,3,4.5);
var shp2 = vPag.DrawRectangle(4,7,5,6.5);
shp1.AutoConnect(shp2, Visio.VisAutoConnectDir.visAutoConnectDirRight);
//Assuming 'No theme' is set for the page, no arrow will
//be shown so change theme to see connector arrow
vPag.SetTheme("Office Theme");
}