以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 怎样在表格的打印相关的属性中设置表格主体部分的字体、行高度、列宽? (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=593) |
-- 作者:cpayinyuan -- 发布时间:2008/9/18 16:34:00 -- 怎样在表格的打印相关的属性中设置表格主体部分的字体、行高度、列宽? 我看帮助文件的table 的打印相关的属性中,对表格直接打印的相关设置专门设置了很多属性,看来,贺老师的意思应该是如果直接打印表的部分行和部分列,就可以很快速的直接用表格的打印功能,而不需用Excel报表和专业报表,这样实现起来效率会非常高!但是,我认真看了帮助,这些属性中对表格打印时的纸张及页边矩,标题及副标题,页眉页脚,是否自动调整宽度等项目进行了详细的设置,但我却没有找到怎样对表格的主体部分的打印属性进行设置,例如设置表格主体部分的字体字型号、行高度、不同列的列宽等,既然提供了这么多打印相关的属性,我认为提供对表格主体部分的打印进行相关的属性设置也是很有必要的(用户打印时会纸张、标题、页眉页脚的设置,但用户更关心表格主体部分的打印效果),如果有的话麻烦谁给我说一下,如果没有的话我建议应该增加上! 否则,如果表格的打印功能只对纸张、标题、页眉页脚等外在属性进行设置,而对表格的主体部分不能进行任何设置,那么这项功能将大打折扣,很不好用! |
-- 作者:贺老六 -- 发布时间:2008/9/18 16:38:00 -- 打印最常变化的是列宽、列位置,以及打印那些列(也就是打印的时候隐藏部分列)。 |
-- 作者:cpayinyuan -- 发布时间:2008/9/18 16:51:00 -- 以下是引用贺老六在2008-9-18 16:38:00的发言:
打印最常变化的是列宽、列位置,以及打印那些列(也就是打印的时候隐藏部分列)。 贺老师,上面我罗索了那么多,其实总结一下很简单,无非是让表格的打印属性增加以下几个属性: [此贴子已经被作者于2008-9-18 16:54:41编辑过]
|
-- 作者:贺老六 -- 发布时间:2008/9/18 16:54:00 -- 呵呵,我会考虑的。 |
-- 作者:lxl -- 发布时间:2008/9/18 16:54:00 -- 命令窗口试试 CurrentTable.Font = New Font("宋体",125) |
-- 作者:cpayinyuan -- 发布时间:2008/9/18 20:24:00 -- 以下是引用cpayinyuan在2008-9-18 16:51:00的发言: 贺老师,上面我罗索了那么多,其实总结一下很简单,无非是让表格的打印属性增加以下几个属性: 我又认真考虑了一下,其实这项改进还可以再简化一些,只需要增加行高属性和列宽属性即可(注意列宽要每列分别设置,不能全部列一样),这是因为表格主体的字体、字型号都可以在表中直接设置,打印哪些行、哪些列可以通过筛选和视图来实现,但唯独行高和每列的列宽在屏幕上是不可以精确配置的,但行高和列宽在打印时又非常关键,直接影响着打印效果,所以必须用编码的形式来实现,这样一来,改进的工作量就很小了,希望贺老师认真考虑我的建议! |
-- 作者:贺老六 -- 发布时间:2008/9/18 20:32:00 -- 呵呵,列宽也可以精确设置并保存到视图中的。 唯独行高,可以精确设置,只是不能保存到视图,这是因为考虑到行高很少需要去改动的。 |
-- 作者:cpayinyuan -- 发布时间:2008/9/18 21:22:00 -- 以下是引用贺老六在2008-9-18 20:32:00的发言:
呵呵,列宽也可以精确设置并保存到视图中的。 唯独行高,可以精确设置,只是不能保存到视图,这是因为考虑到行高很少需要去改动的。 贺老师,我试了一下,界面上的设置列宽是以像素为单位的,这种单位在屏幕上很方便很精确,在打印时就不太精确了,而且如果屏幕分辨率改变也会导致打印的变化,而用户需要的打印时的列宽和行高是需要以毫米为单位的,只有以真正的长度单位设置列宽和行高,在打印时才真正有意义才能做到精确。至于行高,你说行高很少需要去改动的,这在屏幕上显示是问题不大,但在打印时,行高的多少直接影响着每张纸能打印多少行,影响着打印出来的布局,这绝对是很重要的。 |
-- 作者:贺老六 -- 发布时间:2008/9/18 21:31:00 -- 呵呵,列有一个PrintWidth属性,可以用毫米作单位,设置列宽,很方便的。 通过代码设置即可,调整好后,保存为视图。 例如将第二列的宽度设为10.9毫米: CurrentTable.Cols(1).PrintWidth = 10.9 [此贴子已经被作者于2008-9-18 21:32:11编辑过]
|
-- 作者:cpayinyuan -- 发布时间:2008/9/18 21:54:00 -- 以下是引用贺老六在2008-9-18 21:31:00的发言:
呵呵,列有一个PrintWidth属性,可以用毫米作单位,设置列宽,很方便的。 通过代码设置即可,调整好后,保存为视图。 例如将第二列的宽度设为10.9毫米: CurrentTable.Cols(1).PrintWidth = 10.9 [此贴子已经被作者于2008-9-18 21:32:11编辑过] 如果打印出来的列宽能和设置的一模一样,那列宽的问题就解决了,一会我试一下。如果这样,那就把行高也保存在视图里吧,原因前面已经说过了! [此贴子已经被作者于2008-9-18 22:19:23编辑过]
|