找回密码
 立即注册

QQ登录

只需一步,快速开始

xingaoyang

初级会员

10

主题

36

帖子

202

积分

初级会员

积分
202
xingaoyang
初级会员   /  发表于:2015-11-13 13:54  /   查看:10546  /  回复:13
我用的版本是14版本。
1、我在Textcontrol中添加一个4行5列的Table。我想选中第一行和第二行的前两列,但是我通过鼠标选中第一行前两列再往下选中第二行的前两列的时候,第一行变成全部选中了。请问怎样才能选中第一行和第二行的前两列的单元格。
2、我想把选中的单元格合并,请问可以实现吗。
谢谢

13 个回复

倒序浏览
iceman
社区贡献组   /  发表于:2015-11-13 17:08:00
沙发
回复 1楼xingaoyang的帖子

1.通过X22没有重现这个问题,我需要安装 TX V14 进行调查,有进一步结果反馈给你。
2.合并单元格代码:

  1.             this.textControl1.Tables.GetItem(11).MergeCells();
复制代码
回复 使用道具 举报
xingaoyang
初级会员   /  发表于:2015-11-13 17:25:00
板凳
回复 2楼iceman的帖子

亲 TX V14中好像没有this.textControl1.Tables.GetItem(11).MergeCells();中的MergeCells()方法。
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2015-11-16 15:11:00
地板
回复 3楼xingaoyang的帖子

问题1在 TX V14 中重现了,这是14的默认行为,目前无法实现问题1功能。

合并单元格功能MergerCells 是从 TX V17 开始新增的功能,V14 不支持
回复 使用道具 举报
xingaoyang
初级会员   /  发表于:2015-11-16 17:07:00
5#
回复 4楼iceman的帖子

额 那好吧 只能自己想办法了,
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2015-11-16 17:42:00
6#
回复 5楼xingaoyang的帖子



合并问题可以尝试通过去掉单元格边框进行模拟。
回复 使用道具 举报
xingaoyang
初级会员   /  发表于:2015-11-17 15:19:00
7#
回复 6楼iceman的帖子

这个地方我是通过设置单元格的宽度来实现的。但是合并完成后,就不能再用鼠标调整宽度了,
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2015-11-17 17:10:00
8#
回复 7楼xingaoyang的帖子

当前是如何实现的?能否把你的代码发上来我查看,用于重现问题?
回复 使用道具 举报
xingaoyang
初级会员   /  发表于:2015-11-18 10:13:00
9#
回复 8楼iceman的帖子

textControl.Tables.Add(3,5,1001);
Table table=textControl.Tables.GetItem(1001);
TableCell cell1=table.Cell.GetItem(2,2);
TableCell cell2=table.Cell.GetItem(2,3);
cell1.Width=cell1.Width+cell2.Width;
cell2.Width=0;

代码就是上面的那样;执行完之后。在界面上把鼠标放到第二列与第三列之间的线上,就可以拖动线调整烈的宽度,但是调整完之后,合并的单元格之间的线又出来了。
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2015-11-18 17:30:00
10#
回复 9楼xingaoyang的帖子

本身Cell1 的边框并没有消失。调整后重现出现是正常现象。
这种情况需要通过 Changed 事件来重现设置:

  1.         private void Form1_Load(object sender, EventArgs e)
  2.         {
  3.             textControl1.Tables.Add(3, 5, 1001);
  4.             Table table = textControl1.Tables.GetItem(1001);
  5.             TableCell cell1 = table.Cells.GetItem(2, 2);
  6.             TableCell cell2 = table.Cells.GetItem(2, 3);
  7.             cell1.Width = cell1.Width + cell2.Width;
  8.             cell2.Width = 0;

  9.             this.textControl1.Changed += new EventHandler(textControl1_Changed);
  10.         }

  11.         void textControl1_Changed(object sender, EventArgs e)
  12.         {
  13.             Table table = textControl1.Tables.GetItem(1001);
  14.             TableCell cell1 = table.Cells.GetItem(2, 2);
  15.             TableCell cell2 = table.Cells.GetItem(2, 3);
  16.             cell1.Width = cell1.Width + cell2.Width;
  17.             cell2.Width = 0;
  18.         }
复制代码
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部