KingMan 发表于 2017-7-9 17:50:48

TXControl .NET 23 单元格宽度获取不对

本帖最后由 KingMan 于 2017-7-9 18:16 编辑

file:///C:\Users\Administrator\AppData\Roaming\Tencent\Users\893030680\QQ\WinTemp\RichOle\2NWF7YEM2XKH]]LPG]0~6Z0.png
获取单元格宽度是发现,其他1 列的宽度 比 签名列宽度更宽

Row = 1,Column = 1,Length = 2,Text = 日期, Start = 1, Position = 0,Width = 575
Row = 1,Column = 2,Length = 2,Text = 时间, Start = 4, Position = 575,Width = 615
Row = 1,Column = 3,Length = 4,Text = T(℃), Start = 7, Position = 1190,Width = 540
Row = 1,Column = 4,Length = 9,Text = P/HR次/min, Start = 12, Position = 1730,Width = 660
Row = 1,Column = 5,Length = 6,Text = B次/min, Start = 22, Position = 2390,Width = 735
Row = 1,Column = 6,Length = 4,Text = SPO2, Start = 29, Position = 3125,Width = 540
Row = 1,Column = 7,Length = 2,Text = 意识, Start = 34, Position = 3665,Width = 435
Row = 1,Column = 8,Length = 2,Text = 入量, Start = 37, Position = 4100,Width = 495
Row = 1,Column = 10,Length = 2,Text = 出量, Start = 40, Position = 5180,Width = 555
Row = 1,Column = 12,Length = 5,Text = 阴道分泌物, Start = 43, Position = 6260,Width = 645
Row = 1,Column = 14,Length = 2,Text = 腹部, Start = 49, Position = 7460,Width = 510
Row = 1,Column = 16,Length = 3,Text = 其他1, Start = 52, Position = 8810,Width = 930
Row = 1,Column = 17,Length = 4,Text = 特殊情况, Start = 56, Position = 9740,Width = 3030
Row = 1,Column = 18,Length = 2,Text = 签名, Start = 61, Position = 12770,Width = 838
Row = 2,Column = 8,Length = 2,Text = 内容, Start = 64, Position = 4100,Width = 495
Row = 2,Column = 9,Length = 2,Text = ML, Start = 67, Position = 4595,Width = 585
Row = 2,Column = 10,Length = 2,Text = 内容, Start = 70, Position = 5180,Width = 555
Row = 2,Column = 11,Length = 2,Text = ML, Start = 73, Position = 5735,Width = 525
Row = 2,Column = 12,Length = 3,Text = 有/无, Start = 76, Position = 6260,Width = 645
Row = 2,Column = 13,Length = 2,Text = 性状, Start = 80, Position = 6905,Width = 555
Row = 2,Column = 14,Length = 3,Text = 有/无, Start = 83, Position = 7460,Width = 510
Row = 2,Column = 15,Length = 2,Text = 部位, Start = 87, Position = 7970,Width = 840



gw0506 发表于 2017-7-10 10:10:21

附件是个啥?

gw0506 发表于 2017-7-10 10:13:49

光从图片对比来看,所有Width都有问题。
比如你看,阴道分泌物的宽度小于子单元格的宽度之和。有/无,性状。
我怀疑这不是对应的吧?

KingMan 发表于 2017-7-10 13:19:15

gw0506 发表于 2017-7-10 10:10
附件是个啥?

附件是一个模板,只是保存为byte[] 字节文件,通过textControl1.Load(bBytes, BinaryStreamType.InternalFormat);加载进来看下

KingMan 发表于 2017-7-10 13:26:37

gw0506 发表于 2017-7-10 10:13
光从图片对比来看,所有Width都有问题。
比如你看,阴道分泌物的宽度小于子单元格的宽度之和。有/无,性状 ...

我就简单写了下代码,代码如下:
List<TableCell> lstXX = new List<TableCell>();
               foreach (TableCell pNext in pOuterMostTable.Cells)
               {
                     if (pNext.Length == -1)
                         continue;
                     lstXX.Add(pNext);
               }
               foreach (Table pNextTable in pOuterMostTable.NestedTables)
               {
                     foreach (TableCell pNext in pNextTable.Cells)
                     {
                         if (pNext.Length == -1)
                           continue;
                         lstXX.Add(pNext);
                     }
               }
               foreach (TableCell pNext in lstXX)
               {
                     sX += String.Format("Row = {0},Column = {1},Length = {2},Text = {3}, Start = {4}, Position = {5},Width = {6} \n",
                              pNext.Row, pNext.Column, pNext.Length, pNext.Text, pNext.Start, pNext.Position,pNext.Width);
               }


结果:
Row = 1,Column = 1,Length = 2,Text = 日期, Start = 1, Position = 0,Width = 575
Row = 1,Column = 2,Length = 2,Text = 时间, Start = 4, Position = 575,Width = 615
Row = 1,Column = 3,Length = 4,Text = T(℃), Start = 7, Position = 1190,Width = 540
Row = 1,Column = 4,Length = 9,Text = P/HR次/min, Start = 12, Position = 1730,Width = 660
Row = 1,Column = 5,Length = 6,Text = B次/min, Start = 22, Position = 2390,Width = 735
Row = 1,Column = 6,Length = 4,Text = SPO2, Start = 29, Position = 3125,Width = 540
Row = 1,Column = 7,Length = 2,Text = 意识, Start = 34, Position = 3665,Width = 435
Row = 1,Column = 8,Length = 2,Text = 入量, Start = 37, Position = 4100,Width = 495
Row = 1,Column = 10,Length = 2,Text = 出量, Start = 40, Position = 5180,Width = 555
Row = 1,Column = 12,Length = 5,Text = 阴道分泌物, Start = 43, Position = 6260,Width = 645
Row = 1,Column = 14,Length = 2,Text = 腹部, Start = 49, Position = 7460,Width = 510
Row = 1,Column = 16,Length = 3,Text = 其他1, Start = 52, Position = 8810,Width = 930
Row = 1,Column = 17,Length = 4,Text = 特殊情况, Start = 56, Position = 9740,Width = 3030
Row = 1,Column = 18,Length = 2,Text = 签名, Start = 61, Position = 12770,Width = 838
Row = 2,Column = 8,Length = 2,Text = 内容, Start = 64, Position = 4100,Width = 495
Row = 2,Column = 9,Length = 2,Text = ML, Start = 67, Position = 4595,Width = 585
Row = 2,Column = 10,Length = 2,Text = 内容, Start = 70, Position = 5180,Width = 555
Row = 2,Column = 11,Length = 2,Text = ML, Start = 73, Position = 5735,Width = 525
Row = 2,Column = 12,Length = 3,Text = 有/无, Start = 76, Position = 6260,Width = 645
Row = 2,Column = 13,Length = 2,Text = 性状, Start = 80, Position = 6905,Width = 555
Row = 2,Column = 14,Length = 3,Text = 有/无, Start = 83, Position = 7460,Width = 510
Row = 2,Column = 15,Length = 2,Text = 部位, Start = 87, Position = 7970,Width = 840

这里不存在对不对应的问题。请帮忙查看原因。

KingMan 发表于 2017-7-11 17:07:42

gw0506 发表于 2017-7-10 10:10
附件是个啥?

这个问题怎么样,现在由于这个问题已经影响到了原来上线的计划。能不能给个QQ或电话联系方式,有时遇到急的问题需要紧急联系咨询解决。

gw0506 发表于 2017-7-11 17:45:57

恩,我用你这个模板,取了一下数据,的确有问题。已经反馈给厂商了。有消息回复你。

gw0506 发表于 2017-7-12 14:13:26

厂商的反馈是,所有宽度取的都是合并之前的宽度,对于合并后的单元格,没法拿到准确的宽度。非常遗憾。

KingMan 发表于 2017-7-12 15:46:28

gw0506 发表于 2017-7-12 14:13
厂商的反馈是,所有宽度取的都是合并之前的宽度,对于合并后的单元格,没法拿到准确的宽度。非常遗憾。

那就没有其他方法处理啦?
如果这个宽度取不到,像我们这些之前不知道控件存在这个问题的,之前做的那不是要**重新搞。这样很不合理。厂商知道这个问题应该想办法解决,而不是简单说下那不到就完事啦。我们也是这个控件的用户,把我们的问题反馈给厂商,希望能有个比较好的答复。

gw0506 发表于 2017-7-12 16:44:00

我作为一个开发者来说,这样的解释非常不合理,显然是bug。我当时就回复了厂商了。不过以我这几年跟厂商打交道的经验来看,短期内解决不了的。反馈归反馈,事情咱们还得办。
你给我讲讲你的需求是啥,咱俩讨论看看有没有个好办法来绕过去。
页: [1] 2
查看完整版本: TXControl .NET 23 单元格宽度获取不对