以文本方式查看主题

-  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的发言:

打印最常变化的是列宽、列位置,以及打印那些列(也就是打印的时候隐藏部分列)。
这些设置可以保存为视图,在打印前调用即可。
可以将调用视图、打印、恢复为正常视图做成一个按钮,使用很方便。

至于字体和行高,一旦确定,是很少需要去修改的。

   贺老师,上面我罗索了那么多,其实总结一下很简单,无非是让表格的打印属性增加以下几个属性:
1、主体部分的字体字型号;
2、主体部分的每行行高(应该每行相等);
3、每一列的是否打印和打印的精确宽度;
  当然,打印这些可以用报表的方式实现,也可以根据上面您说的根据视图、筛选再打印来实现大部分功能,但打表格增加了我说的这几个属性之后,表格的打印功能会增强好多倍,许多常用的打印就不用使用报表设计功能了,如果改进的工作量不大,何乐而不为呢!
    贺老师,或许现在您该体会到我的性格是多么的苛刻和追求完美了吧!在以前的几年中,我给许多大的软件公司提了很多意见,刚开始他们也很反感我(尤其是他们的客服人员很反感我整天提他们解决不了的问题),但吵来吵去吵了好年之后的结果,是有几个大公司的需求经理、项目经理都主动的与我联系,再往后,我的很多批评性的建议都体现在了软件中!(在狐表论坛中,不便说其他厂家的名字,但不是我吹嘘,这些都是在国内拥有几万、甚至十几万用户群的大软件)您作为狐表的老板,肯定想把狐表尽可能做得完美(当然不是第一个版本就做得很完善,有些功能需要一步一步来),如果您不反感,我以后会提更多的意见和建议给您的!尤其您应该批评有些版主,不要整天摆出老师批评学生的口气,您提这么多意见我教的东西都学好了吗,否则就少提意见!或许我提的一些问题并不是很迫切,或者一下子您作为专业的开发人员体会不到用户角度的真正需要和习惯,但还是希望我提的东西您都能够很认真的思考一下!即使当时不能马上实现,也请在以后的升级中给予真正的关注!

[此贴子已经被作者于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的发言:

   贺老师,上面我罗索了那么多,其实总结一下很简单,无非是让表格的打印属性增加以下几个属性:
1、主体部分的字体字型号;
2、主体部分的每行行高(应该每行相等);
3、每一列的是否打印和打印的精确宽度


      我又认真考虑了一下,其实这项改进还可以再简化一些,只需要增加行高属性和列宽属性即(注意列宽要每列分别设置,不能全部列一样),这是因为表格主体的字体、字型号都可以在表中直接设置,打印哪些行、哪些列可以通过筛选和视图来实现,但唯独行高和每列的列宽在屏幕上是不可以精确配置的,但行高和列宽在打印时又非常关键,直接影响着打印效果,所以必须用编码的形式来实现,这样一来,改进的工作量就很小了,希望贺老师认真考虑我的建议!
--  作者:贺老六
--  发布时间:2008/9/18 20:32:00
--  
呵呵,列宽也可以精确设置并保存到视图中的。

唯独行高,可以精确设置,只是不能保存到视图,这是因为考虑到行高很少需要去改动的。
--  作者:cpayinyuan
--  发布时间:2008/9/18 21:22:00
--  
以下是引用贺老六在2008-9-18 20:32:00的发言:
呵呵,列宽也可以精确设置并保存到视图中的。

唯独行高,可以精确设置,只是不能保存到视图,这是因为考虑到行高很少需要去改动的。

   贺老师,我试了一下,界面上的设置列宽是以像素为单位的,这种单位在屏幕上很方便很精确,在打印时就不太精确了,而且如果屏幕分辨率改变也会导致打印的变化,而用户需要的打印时的列宽和行高是需要以毫米为单位的,只有以真正的长度单位设置列宽和行高,在打印时才真正有意义才能做到精确。至于行高,你说行高很少需要去改动的,这在屏幕上显示是问题不大,但在打印时,行高的多少直接影响着每张纸能打印多少行,影响着打印出来的布局,这绝对是很重要的。
   尽管系统已经提供了Excel报表和专业报表,但我认为既然提供了表直接打印的功能,就应该把其功能做得比较实用,就像我在前面说的,其实只要在表的打印属性中增加行高和列宽属性,表打印功能就已经能够处于大部分的打印功能!如果您把这块功能处于得好,那么表打印功能可能比报表设计、报表打印用得还要多得多!您为什么不能稍微改进一下呢?


--  作者:贺老六
--  发布时间: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编辑过]