找回密码
 立即注册

QQ登录

只需一步,快速开始

yuningmeng

注册会员

14

主题

49

帖子

139

积分

注册会员

积分
139

[已处理] 分栏

yuningmeng
注册会员   /  发表于:2018-4-26 16:43  /   查看:3565  /  回复:7
用代码怎么分自动分成两栏,不设定一栏宽多少,让其自动平均分成两栏怎么设置?因为我确定分栏长度以后出现了问题,右边图片遮盖了左侧。

7 个回复

倒序浏览
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2018-4-27 10:07:05
沙发
直接使用下面的代码即可实现平均分,我不太清楚您说的右边图片盖住左侧是什么意思

  1. _textControl.Sections.GetItem().Format.Columns = 2;
复制代码

评分

参与人数 1满意度 +5 收起 理由
yuningmeng + 5 赞一个!

查看全部评分

回复 使用道具 举报
yuningmeng
注册会员   /  发表于:2018-5-4 08:56:45
板凳
Richard.Ma 发表于 2018-4-27 10:07
直接使用下面的代码即可实现平均分,我不太清楚您说的右边图片盖住左侧是什么意思

分栏以后左右两边覆盖了,页面大小设置没用,还有就是想问您一下怎么设置为a3或a4而不用设置大小,同时怎么设置为横向和纵向。

设置页面大小没有起作用

设置页面大小没有起作用

左右两边覆盖了

左右两边覆盖了
回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2018-5-4 10:21:00
地板
还是没能重现你说的被遮挡的图片,你可以直接把这个状态的文档保存发我。
另外,纸张设置为A3可以用如下的代码
  1.             PaperSize[] pslist = _textControl.GetSupportedPaperSizes();
  2.             foreach (PaperSize ps in pslist)
  3.             {
  4.                 if (ps.Name == "A3")
  5.                 {
  6.                     _textControl.PageUnit = MeasuringUnit.Twips;
  7.                     _textControl.PageSize = new PageSize(ps.Width,ps.Height);
  8.                 }

  9.             }
复制代码

评分

参与人数 1满意度 +5 收起 理由
yuningmeng + 5 赞一个!

查看全部评分

回复 使用道具 举报
yuningmeng
注册会员   /  发表于:2018-5-4 10:47:19
5#
本帖最后由 yuningmeng 于 2018-5-4 14:04 编辑
Richard.Ma 发表于 2018-5-4 10:21
还是没能重现你说的被遮挡的图片,你可以直接把这个状态的文档保存发我。
另外,纸张设置为A3可以用如下的 ...

保存为word用word打开就没问题了,不知道为什么用txwinform时候重叠了有问题了,那个设置页面大小的是直接设置的全部吗,在文件导入前还是后?对了txwinform支持xml文件的导入吗?还有就是如图缺少了什么,还有就是刚刚上个问的我设的页面大小为什么没有起作用,就是我设的高和宽,在tx里面显示的还是a4的210x297而我设置的是297x420.

图上的程序弄好了,我之前没有加前缀,不过直接设置页面大小可能是我这边有问题。
125.jpg

111111111.zip

6.42 KB, 下载次数: 94

回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2018-5-4 14:33:48
6#
您说的重叠应该是指图片左侧重叠进去一部分,图片比一列的宽度大,肯定有一部分会显示不出,至于说是显示哪一部分,在TX中可以对图片设置左对齐或右对齐,居中

如下图三张图片的区别,你应该就可以看清楚了,这个是在TX中可以设置,但是在word软件中没有,所以你觉得有差异
image.png589987487.png


设置页面的确实是全部代码,WINFORM版本,您的是其他的平台的吗

页面大小也是我这样设置的,_textControl.PageSize = new PageSize(297,420);
回复 使用道具 举报
yuningmeng
注册会员   /  发表于:2018-5-4 14:42:14
7#
本帖最后由 yuningmeng 于 2018-5-4 15:01 编辑
Richard.Ma 发表于 2018-5-4 14:33
您说的重叠应该是指图片左侧重叠进去一部分,图片比一列的宽度大,肯定有一部分会显示不出,至于说是显示哪 ...

textControl1.Sections.Add(TXTextControl.SectionBreakKind.BeginAtNewLine);
TXTextControl.SectionFormat currentFormat =textControl1.Sections.GetItem().Format;
currentFormat.PageSize.Width.CompareTo(297);
currentFormat.PageSize.Height.CompareTo(420);
之前这样写的有问题,用您给的那个选择A3的就没事情了不知道为啥.


刚刚又试了一下您给的新代码,直接写大小显示的不一样,比原来小,还有就是想要设置B5的话怎么弄。A3直接可以但是B5的的话那就不生效了。下面您给的代码我改成B5就有问题了。
  • PaperSize[] pslist = _textControl.GetSupportedPaperSizes();
  •             foreach (PaperSize ps in pslist)
  •             {
  •                 if (ps.Name == "A3")
  •                 {
  •                     _textControl.PageUnit = MeasuringUnit.Twips;
  •                     _textControl.PageSize = new PageSize(ps.Width,ps.Height);
  •                 }
  •             }

回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2018-5-4 17:30:20
8#
貌似是没有B5的,你可以通过这个获取的PaperSize列表看下里面有哪些纸张格式 _textControl.GetSupportedPaperSizes();

image.png279343566.png
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部