找回密码
 立即注册

QQ登录

只需一步,快速开始

yin_tb

高级会员

53

主题

200

帖子

1061

积分

高级会员

积分
1061

微信认证勋章

yin_tb
高级会员   /  发表于:2021-10-11 19:45  /   查看:5120  /  回复:10
1金币
如下图,spread如何实现单元格内画线,实现凭证类似的界面,如下图:
69dc364a5176c88a754b84ea734d3e7.png389346923.png
69dc364a5176c88a754b84ea734d3e7.png254388121.png

最佳答案

查看完整内容

1.是的,只能通过代码合并 2.列头每一行可以设置高度 [/code] 关于你提的几个问题,回答如上,但是目前比较麻烦的是添加一个textbox组件,以及值回写,这个功能可能实现起来还不难,但是没法避免和控件单元格内本身的一些类似excel的行为发生冲突,如果是要实现你这边的需求这样可能比较勉强

10 个回复

倒序浏览
最佳答案
最佳答案
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2021-10-11 19:45:05
来自 6#
1.是的,只能通过代码合并
  1. fpSpread1.ActiveSheet.AddColumnHeaderSpanCell(0, 0, 1, 4);
复制代码


2.列头每一行可以设置高度
  1.             fpSpread1.ActiveSheet.ColumnHeader.Rows[1].Height = 30;
  2.             fpSpread1.ActiveSheet.ColumnFooter.Rows.Count = 2;
  3.             
  4. 3.可以
  5. [code]fpSpread1.ActiveSheet.ColumnFooter.Rows[0].Height = 20;
复制代码
[/code]

关于你提的几个问题,回答如上,但是目前比较麻烦的是添加一个textbox组件,以及值回写,这个功能可能实现起来还不难,但是没法避免和控件单元格内本身的一些类似excel的行为发生冲突,如果是要实现你这边的需求这样可能比较勉强
回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2021-10-12 09:36:56
2#
这个设置边框就可以。可以在设计器中直接设置,或者通过代码
https://www.grapecity.com/spread ... lbordercomplex.html
image.png290461730.png
回复 使用道具 举报
yin_tb
高级会员   /  发表于:2021-10-12 09:47:09
3#
我知道您的意思,那个我知道怎么弄。我想说的是,其实凭证填制界面,百十元角分等下面的单元格,虽然有线,其实是个合并的单元格,我想在下面自己画线,而不是系统的网格线。系统的网格线,那就是不同的单元格了,如果我自己画线,那还是一个单元格。类似于交叉表中,某个单元格内画线
回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2021-10-12 10:39:51
4#
明白了,这个功能目前没有办法实现,
另外本身一个单元格内,你这边的数字位置也没有办法完全控制的,就算画一个固定的线出来,最后可能也对不上

image.png414362792.png
回复 使用道具 举报
yin_tb
高级会员   /  发表于:2021-10-12 10:59:19
5#
谢谢马老师,我也知道这个有点难。我也在想画出线字符的对齐问题,另外就算画出线,也可能会切割到字符上,还是得用系统的网格。我看看用spread做底层,自己写个组件,您看我的思路在功能上是否可行,免得我走弯路,以我发的图为例:
1、用spread为基础组件。
2、设置表头为2行,按需要合并,摘要表头2行合并,科目两行合并。
3、借方合并从【亿-分】的第一行表头,贷方同样。第二行【亿-分】的单元格全都不合并。
4、在代码事件中判定,只要焦点在借方的【亿-分】或贷方的【亿-分】中任何一个单元格,
    调用代码添加一个textbox组件,让这个组件占满借方或贷方【亿-分】那一行的单元格。
5、在textbox中编辑完后,通方某些方法,根据数据大小将值分列到【亿-分】的单元格中。
您觉得我上面的思路,在spread中可行吗?基于上面,提出以下几个问题:
1、表头A,B这些,只能在代码中合并,对吗?我发现设计器中不能。
2、多行表头,单独设置某行的行高,可以吗?用什么方法。
3、表尾footer可以合并吗,如果有多行,可以分别设置高度吗?
先问这些,麻烦您。
回复 使用道具 举报
yin_tb
高级会员   /  发表于:2021-10-12 14:19:21
7#
谢谢,我试着写试试,有问题再请教你,合并我做好了,一个问题,像我发的图,fpSpread1.ActiveSheet.ColumnHeader.Cells(0,2).text="借方";可以,但是Spread1.ActiveSheet.ColumnHeader.Cells(0,3).text="贷方";不认,必须是合并前用Spread1.ActiveSheet.ColumnHeader.Cells(0,13).text="贷方";才行,为何表头合并,如图那样,贷方不能直接像借方一样赋值text
回复 使用道具 举报
yin_tb
高级会员   /  发表于:2021-10-12 14:21:20
8#
也就是说我赋值贷方那个text不起作用,必须合并前,给贷方的13列,也就是贷方"亿"那个格
回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2021-10-12 14:25:02
9#
你合并后,13列还是13列,你设置Cells(0,3).text="贷方",是设置到了被合并的(0,3)单元格中,自然毫无效果,不管合并前后,设置(0,13)都是由效果的
回复 使用道具 举报
yin_tb
高级会员   /  发表于:2021-10-12 14:47:09
10#
明白你的意思了,感谢。不好意思一直打扰。我再遇到问题时,积累一下再请教吧。
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部