KingMan 发表于 2017-6-2 19:10:19

TXControl NET 23 Selection.Save函数问题

本帖最后由 KingMan 于 2017-6-2 19:11 编辑

我只想保存我选中的内容为byte[] 并保存文件,但是发现 它把页眉页脚都给保存啦,而我只是仅仅需要 我选中的那部分内容。如下面我仅仅需要保存表格,而不需要页面,但是保存文件后,重新加载,发现页眉页脚也保存进去啦


保存的代码:
      private void button10_Click(object sender, EventArgs e)
      {
            Table pCurrentTable = textControl1.Tables.GetItem();
            if (pCurrentTable != null)
               pCurrentTable.Select();
            //byte[] cData;
            //textControl1.Save(out cData, BinaryStreamType.InternalFormat);
            textControl1.Selection.Save(out uData, BinaryStreamType.InternalFormat);
            LocalFileManger.SaveFileToLocal("NurseTemplate", "NurseRecordx_28.bak", uData);
      }

加载代码:
private void button9_Click(object sender, EventArgs e)
      {
            FileInfo fileMsg = null;
            byte[] bBytes = LocalFileManger.GetFileByte("NurseTemplate", "NurseRecordx_28.bak", out fileMsg);
            if (bBytes == null || bBytes.Length <= 0)
                return;
            textControl1.Selection.Load(bBytes, BinaryStreamType.InternalFormat);
      }


gw0506 发表于 2017-6-5 10:35:21

selection只有正文内容,不包含页眉页脚。你存的只是正文Table。页眉页脚没有存进去。
你可以把它save成word,直接就看到效果了。

KingMan 发表于 2017-6-7 11:22:38

gw0506 发表于 2017-6-5 10:35
selection只有正文内容,不包含页眉页脚。你存的只是正文Table。页眉页脚没有存进去。
你可以把它save成wo ...

我试过啦下,但是并没有达到效果。现在把DEMO程序附上,帮忙看下。

这个为一个文档文档,该文档有页眉和内容含有一个表格
\删除前面空行\bin\x86\Debug\NurseTemplate\NurseRecordx_28.bak

现在目的是想仅仅保存表格,不报错页眉页脚。但是调试啦几次都没有实现。

gw0506 发表于 2017-6-7 16:29:10

经过测试,你是对的,去不掉。我提交厂商了。

gw0506 发表于 2017-6-8 09:55:58

厂商说这是设计。
解决办法只能是你保存的时候再创建一个TXcontrol,然后把selection的内容设置到新的tx里面,从这里Save,然后再把这个TX删掉。

KingMan 发表于 2017-6-8 10:13:11

gw0506 发表于 2017-6-8 09:55
厂商说这是设计。
解决办法只能是你保存的时候再创建一个TXcontrol,然后把selection的内容设置到新的tx里 ...

好的,我尝试一下先

gw0506 发表于 2017-6-8 10:15:43

好~

KingMan 发表于 2017-6-8 11:16:56

本帖最后由 KingMan 于 2017-6-8 11:46 编辑

KingMan 发表于 2017-6-8 10:13
好的,我尝试一下先
我尝试创建一个TXControl对象,但是出现异常。
当然,这个异常可以通过先创建一个窗体然后拖控件过去,使得这个控件实例化需要的数据都完成,这样就不会异常。
现在我不想要这部分工作,直接通过代码实例化就可以啦,应该怎么实例化。



另外,我通过窗体方式创建实例,格式化数据后,回写,会把我目标文档的页眉页脚给干掉啦

gw0506 发表于 2017-6-8 12:09:18

我这里没有问题
            textControl1.Selection.Save(out uData, BinaryStreamType.InternalFormat);

            TextControl txcontrol = new TextControl();
            textControl1.Load(uData, BinaryStreamType.InternalFormat);

KingMan 发表于 2017-6-8 16:43:41

本帖最后由 KingMan 于 2017-6-8 20:29 编辑

gw0506 发表于 2017-6-8 12:09
我这里没有问题
再请教两个问题:
1.有没有办法让相同列的相邻表不自动合并
2.如何在两个表中添加一个空行,该空行高度无限小


我在以往的帖子中找到了一个方法,

[*] // 获取Table对象
[*]    TXTextControl.Table tb = this.textControl1.Tables.GetItem(1001);
[*]    this.textControl1.InputPosition = new TXTextControl.InputPosition(tb.Cells.GetItem(1, 1).Start - 2);
[*]    textControl1.InputFormat.LineSpacing = 1;

但是,还是有点问题,就是偶尔有时会出现消除的时候出现空隙,试多几次就就正常啦。


页: [1] 2
查看完整版本: TXControl NET 23 Selection.Save函数问题