以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]请版主相助:网页div链接数据表  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=102266)

--  作者:jyh7081
--  发布时间:2017/6/16 13:12:00
--  [求助]请版主相助:网页div链接数据表

前期的帖子:“div模拟textarea文本域 ”,我在两位版主特别是“有点色”版主的帮助下,学习了一些HTML+css的相关知识,并对版主写的代码进行了多次测试。

现在,我把定位div的代码直接放入了1.html文件里,希望版主按现在的方式帮助完善一下div与当前单元格同步链接的代码。谢谢!

原先的代码均在窗口中,没删,仅注释掉了。

 


图片点击可在新窗口打开查看此主题相关图片如下:360截图20170616130927062.jpg
图片点击可在新窗口打开查看

 

附件:

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:div同步数据表.rar


--  作者:有点色
--  发布时间:2017/6/16 16:14:00
--  

 不能用框架,要在一个页面里

 

 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:div同步数据表.zip


--  作者:jyh7081
--  发布时间:2017/6/16 16:34:00
--  

多谢版主!


--  作者:jyh7081
--  发布时间:2017/6/18 22:45:00
--  

版主,遇到一个问题,如图:
选定单元格进行分段,在段落之间会多出一个空行;
再次分段,然后变更单元格,再返回原单元格,像这样交替一次空行会增加一个。

 


图片点击可在新窗口打开查看此主题相关图片如下:gif.gif
图片点击可在新窗口打开查看

 

附件中是原代码未改动 

附件:

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:div同步数据表11.rar

 


 

[此贴子已经被作者于2017/6/18 22:47:41编辑过]

--  作者:有点色
--  发布时间:2017/6/18 22:59:00
--  
 单元格直接保存全部html代码(也就是<p>那些),一个都不能少。
--  作者:jyh7081
--  发布时间:2017/6/18 23:22:00
--  

另外,遇到进入div只能定位到句首的问题,是什么原因?这种情况出现在有分段的div中,就是div产生多个空行的情况。

如图:


图片点击可在新窗口打开查看此主题相关图片如下:gif.gif
图片点击可在新窗口打开查看

 

你给的例子还没出现上述情况,是移到项目中出现的。


--  作者:有点色
--  发布时间:2017/6/18 23:32:00
--  
 出错的实例发上来测试。不然就改成 window.external.setCurrentValue(obj.innerHTML, str2);
--  作者:jyh7081
--  发布时间:2017/6/18 23:44:00
--  

谢谢版主!解决了。

另外,我在当前表DataColChanged和CurrentChanged事件中加入清除空行代码,是否合适,或有其他最佳方案?

 

Dim lst As new List(of String)   \'清除多余空行
For Each t As Table In Tables
    For Each r As Row In t.rows
        For Each c As Col In t.cols
            If c.IsString Then
                lst.Clear
                Dim lines = r.DataRow.Lines(c.Name)
                If lines.Count > 1 Then
                    For Each s As String In  lines
                        If s.trim > "" Then
                            lst.Add(s)
                        End If
                    Next
                    r(c.name) = String.Join(vbcrlf,lst.ToArray)
                Else
                    r(c.name) = r(c.name).TrimEnd(chr(10),chr(13))
                End If
            End If
        Next
    Next
Next
\'MessageBox.Show( "已清除多余空行!")


--  作者:有点色
--  发布时间:2017/6/19 9:49:00
--  

 如果例子的项目没问题,只是你自己的项目有问题,应该是数据的问题。

 

 你自己的项目,重新输入的数据,是否也有问题?


--  作者:jyh7081
--  发布时间:2017/6/19 11:45:00
--  

谢谢版主!

是改成 window.external.setCurrentValue(obj.innerHTML, str2),就解决了。