找回密码
 立即注册

QQ登录

只需一步,快速开始

roc_hover

论坛元老

6

主题

19

帖子

4018

积分

论坛元老

积分
4018

活字格认证微信认证勋章

[已处理] TX表格疑问

roc_hover
论坛元老   /  发表于:2012-1-8 17:30  /   查看:6962  /  回复:8
您好;
    在我试用TX的过程中发现几个问题:
1.
如附件《1.doc》中的表格,在word中是正常的左边一个表格,右边一个表格,但通过TX加载,再保存后格式就完全走样了,两个表格成一个了,结果如《2.doc》;

2.
对于表格的ID,好像TX和Word也是完全不一样的处理方式,在Word中一个表格不管内部有没有合并,它的ID是不变的,通过这个ID可以遍历它的所有单元格(包括合并的);但是在TX中,我发现只要表格某行的列数发生变化了(如有合并等),那该行就会启用新的ID,这样在使用中,虽然看上去还是一个表格,但很难通过ID去遍历所有单元格了,因为这个表格实际上已经是具有N个ID的N个表格了;

3. 对于嵌套表格也完全走样。

另:《2.doc》是由《1.doc》通过Form1.frm 中的代码得到的。
总的来说TX功能不错,但上面3个问题一直困扰着我,使我一直在犹豫要不要选择TX。

TX疑问.rar

10.21 KB, 下载次数: 223

rar

8 个回复

倒序浏览
ZenosZeng讲师达人认证 悬赏达人认证
超级版主   /  发表于:2012-1-9 12:04:00
沙发
你好,在Word和TX中一行都只能插入一个表格,而Word中的表格是可以随意拖动的,所以,一行就可以放两个表格,像这种通过拖动之后的布局TX还是会依照一行只有一个表格的原则进行布局,也就是你看到的左右表格的布局被修改了。

1.1.doc (13.5 KB, 下载次数: 235)
回复 使用道具 举报
roc_hover
论坛元老   /  发表于:2012-1-15 17:40:00
板凳

回复 2# dof 的帖子

那关于 表格ID 的第二个问题呢?  我怎么遍历这个有合并的表格?
回复 使用道具 举报
ZenosZeng讲师达人认证 悬赏达人认证
超级版主   /  发表于:2012-1-16 12:22:00
地板

回复 3# roc_hover 的帖子

遍历有单元格合并的表格需要判断单元格的length是否为-1,为-1说明该单元格被合并了:
  1.     for (int row = 1; row <= textControl1.Tables.GetItem().Rows.Count; row++)
  2.     {
  3.         for (int col = 1; col <= textControl1.Tables.GetItem().Columns.Count; col++)
  4.         {
  5.             if (textControl1.Tables.GetItem().Cells.GetItem(row,col).Length != -1)
  6.             {
  7.                 textControl1.Tables.GetItem().Cells.GetItem(row, col).Text = String.Format("({0},{1})",row,col);
  8.             }
  9.         }
  10.     }
复制代码


同时可以通过以上属性来判断当前表格的嵌套关系:NestedLevel、NestedTables、OuterMostTable、OuterTable
回复 使用道具 举报
roc_hover
论坛元老   /  发表于:2012-1-21 11:10:00
5#
可问题是在Word中本来是一个表格(虽然有合并,可还是一个ID),可以通过一个ID就能遍历所有Cell了,可是在TX中,因为有了合并,这个表格实际上已经让TX武断的分成了具有N个ID的N个表格了,我怎么才能遍历这些表格呢?头痛的是ID不唯一了呀,我甚至连这个表格现在对应几个ID都不确定,我怎么去遍历?

版主别告诉我一个ID一个ID的去遍历,即使这样,那还是相对于Word中少了一个信息,本来Word中是一个ID的,我知道通过这个ID就能遍历,可现在分成了N个,我怎么知道TX是分成了N-1个还是N+1个?怎么去遍历?
回复 使用道具 举报
roc_hover
论坛元老   /  发表于:2012-1-21 11:12:00
6#
急!急!急!
回复 使用道具 举报
roc_hover
论坛元老   /  发表于:2012-1-21 11:18:00
7#
我觉得TX在某些方面还是挺好的,比如查找替换速度等,还有不需要像Word一样安装一大堆VBA组件支持环境,发布程序时很轻松,这些都是看好TX的地方;
    可是在表格方面TX确实太糟糕,也许是我先用过Word的原因吧,我觉得TX在表格方面应该好好解剖,学习学习Word,我提的这几个问题都应该是很实用的呀,就没别人提?
回复 使用道具 举报
gw0506
超级版主   /  发表于:2012-1-21 11:59:00
8#
你说的很对。TX由于要支持Word和PDF,在设计上需要兼顾两种截然不同的格式,因此在Table的支持上与Word存在差异,我们可以向产品团队反馈。不过能否向Word靠拢,何时能有更符合你需求的改进,我们暂时无法给出具体的时间表。

以目前的情况来看,表格的遍历是你最关心的问题。你可以在TextControl.Tables中拿到所有的表格,然后遍历修改。当然,遍历过程很可能比较痛苦,因为ID的变化,很难准确知道要改的数据在哪一个ID的某行某列。这就需要在遍历的时候,同时还要验证内容,确定是要修改的数据后,再做修改。

如果你的需求中,大部分需要表格,或者表格的功能需求占主要部分,可以尝试Spread产品。它是专业的表格控件,与Excel兼容。界面、接口和操作都与Excel相似。也许更能满足你的需求。
回复 使用道具 举报
roc_hover
论坛元老   /  发表于:2012-7-17 19:34:00
9#
强烈建议TX在新版本中增加上面提到的表格遍历问题。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部