找回密码
 立即注册

QQ登录

只需一步,快速开始

nisnfox

论坛元老

14

主题

46

帖子

5062

积分

论坛元老

积分
5062

活字格认证

[已处理] Tx中表格问题

nisnfox
论坛元老   /  发表于:2012-5-2 10:03  /   查看:6453  /  回复:9
请问Tx中插入的table表格,有合并单元格的功能吗,怎么实现?谢谢。。。

9 个回复

倒序浏览
iceman
社区贡献组   /  发表于:2012-5-2 11:30:00
沙发

回复 1# nisnfox 的帖子

nisnfox 你好,
有两种方法可以实现 MergeCells:
1.通过 UI 选择单元格:在运行时,选择单元格范围,调用 Table 下 MergeCells 方法。
2.通过代码选择单元格:略复杂,下面分步阐述。
a.当前 table 有 10 行 10 列。
b.从起始单元格开始,第 0 行、第 1 行和第 2 行,分别选择前两个单元格:

  1. textControl1.Selection.Start = 0;
  2. textControl1.Selection.Length = 22;
复制代码
c.从起始单元格开始,第 0 行和第 1 行分别选择前两个单元格:

  1. textControl1.Selection.Start = 0;
  2. textControl1.Selection.Length = 12;
复制代码
d.上面两个代码片段说明,table 的选择形状必须为矩形。
f.合并单元格

  1. table.MergeCells();
复制代码
回复 使用道具 举报
nisnfox
论坛元老   /  发表于:2012-5-2 15:57:00
板凳
请问怎么获取到所选中的单元格,类似word样通过鼠标移动可以选中获取多个单元格合并吗?
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2012-5-2 18:01:00
地板

回复 3# nisnfox 的帖子

nisnfox 你好,
1.请问楼主对 2# 中的设置选择单元格思路有疑问吗?问题是否解决呢?
2.获取所选中的单元格我们同样可以使用以下属性获取:

  1. int start=this.textControl1.Selection.Start;
  2. int length=this.textControl.Selection.Length;
复制代码

例如获得选择的第一个单元格的方法为:

  1. int startRow = start / currentTable.Columns.Count;
  2. int startCol = start % currentTable.Columns.Count;
  3. TXTextControl.TableCell startCell = currentTable.Cells.GetItem(startRow, startCol);
复制代码
回复 使用道具 举报
nisnfox
论坛元老   /  发表于:2012-5-3 08:52:00
5#

回复 4# iceman 的帖子

请问大神table.MergeCells()属性中的table如何获取呢
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2012-5-3 09:19:00
6#

回复 5# nisnfox 的帖子

nisnfox 你好,
我们可以通过两种方法获取目标 Table,即 this.textControl1.Tables.GetItem() 两种重载:
1.第一种方法:在添加 table 的同时设置 table ID,通过 ID 获取:

  1. this.textControl1.Tables.Add(10, 10, 11);
  2. TXTextControl.Table table = this.textControl1.Tables.GetItem(11);
复制代码


2.通过当前焦点所在 table ,即当前活跃 table :

  1. TXTextControl.Table table = this.textControl1.Tables.GetItem();
复制代码


以上两种方法推荐第一种。
回复 使用道具 举报
nisnfox
论坛元老   /  发表于:2012-5-3 10:46:00
7#

回复 6# iceman 的帖子

我用上述方法取到table后,科室没有table.MergeCells()这个属性,大神能否给个demo,用鼠标焦点选中table中多列合并即可,谢谢。。
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2012-5-3 11:19:00
8#
nisnfox 你好,
附件即为合并单元格 Demo:
测试环境:VS2010 && TX text Control 17.0
4280Demo.zip (39.31 KB, 下载次数: 360)
回复 使用道具 举报
nisnfox
论坛元老   /  发表于:2012-5-4 14:51:00
9#
大神,我用的是14版本,没有MergeCells这个属性:-|,请问在14版本中怎么解决这个问题,谢谢。。
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2012-5-4 16:37:00
10#

回复 9# nisnfox 的帖子

nisnfox 你好,
不好意思,TX 14.0 无法实现合并单元格。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部