以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  打印与排序  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=95140)

--  作者:lk15502
--  发布时间:2017/1/11 10:19:00
--  打印与排序
下面的代码是窗口打印,有一个问题:因为有合并单元格,打印出来的表,排序乱了,有什么办法保持原有的默认排序吗?
With Tables("生产单_table1")
    Syscmd.Table.ToggleSortAndFilter()
    .MergeMode = MergeModeEnum.free \'标准合并模式
    .MergeCols.Clear() \'清除原来的合并列
    .MergeCols.Add("品名小类") \'加入要合并的列
    .MergeCols.Add("颜色")
    .MergeSort = "品名小类,颜色" \'设置合并模式下的排序方式
    .AllowMerge = True \'启用合并模式
    For Each c As Col In .cols
        If .FindRow(c.name & " is not null") < 0 Then
            c.visible = False
        End If
    Next
End With
\'--------------------------------------
Tables("生产单_table1").AutoSizeRows
e.Form.Controls("Table1").MaxRows = e.Form.Controls("最大行数").value
Dim doc As PrintDoc = e.Form.gernateprintdoc() \'定义一个报表
doc.PageSetting.Landscape = True \'横向打印
doc.Preview() \'预览


--  作者:有点色
--  发布时间:2017/1/11 10:25:00
--  

 

测试没问题啊,你看到的是什么,最后打印的,就是什么。

 

有问题做实例测试。


--  作者:lk15502
--  发布时间:2017/1/11 11:06:00
--  
我把这句代码屏蔽好像有效果了,请问有什么不好的影响吗?
.MergeSort = "品名小类,颜色" \'设置合并模式下的排序方式

--  作者:有点色
--  发布时间:2017/1/11 11:19:00
--  

 和你3楼的代码无关。如果确实是删除后也不影响使用,那就删除吧。

 

 最好上传实例测试。