以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]实例中的几个问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=124192)

--  作者:jyh7081
--  发布时间:2018/9/1 10:47:00
--  [求助]实例中的几个问题

问题:
1、窗口中的div分段后第二段的字体和字号变成左侧列表的字体和字号了。删除分段又会恢复DIV设置的格式;
2、数据表中相应的单元格,分段后多出一个空行;
3、点击菜单中报表按钮,生成word报表,报表中对应的单元格中的第二个分段只缩进了一个字符;
4、编辑div,相应单元格跟随变化,但是删除整个div内容,单元格却不跟着变了。
请老师指教,谢谢!


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


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

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



--  作者:有点蓝
--  发布时间:2018/9/1 11:51:00
--  
1、样式设置
div,
div>p{
max-width:1000px;                     /* 宽度800 */
width:auto; 
min-height:20px;                 /* 最小高度20 */           
padding:3px;                     /* 内边距 */
……

2;4、setCurrentValue函数
Dim str As String = args(0)
Dim ary() As String = args(1).split("-")
Dim cname As String = ary(0)
Dim tname As String = ary(1)    \'表名
Dim fname As String = ary(2)    \'窗口名
output.show(str)
\'If str <> "" Then
    Tables(tname).Current(cname) = str.Replace(vbcrlf & vbcrlf,vbcrlf)
    \'Tables(tname).Current(cname) = str
\'End If
3、测试没有问题

[此贴子已经被作者于2018/9/1 11:52:29编辑过]

--  作者:jyh7081
--  发布时间:2018/9/1 16:25:00
--  
非常感谢,蓝老师!
问题基本解决了。

就是第4个问题:
清空某个div内容,相应单元格内容却不跟着变了。
经测试:只要div保留一个字符,单元格都会跟随div的内容变化;就是div清空了,单元格没清空,重新打开窗口,刚才清空的div又不是空的了。
是不是函数中这句判断的原因?但是如果不加这句判断,清空时会报错。
......
If str <> "" Then
    Tables(tname).Current(cname) = str.Replace(vbcrlf & vbcrlf,vbcrlf)
    \'Tables(tname).Current(cname) = str
End If

--  作者:有点蓝
--  发布时间:2018/9/1 17:02:00
--  
请认真看2楼的代码

去掉if str <> "" Then
[此贴子已经被作者于2018/9/1 17:02:17编辑过]

--  作者:jyh7081
--  发布时间:2018/9/1 17:28:00
--  
但是去掉会提示:

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


--  作者:有点蓝
--  发布时间:2018/9/1 17:34:00
--  
If Tables(tname).Current IsNot ntohing Then
    Tables(tname).Current(cname) = str.Replace(vbcrlf & vbcrlf,vbcrlf)
End If

--  作者:jyh7081
--  发布时间:2018/9/1 17:38:00
--  
蓝老师,还是一样的提示。
--  作者:有点蓝
--  发布时间:2018/9/1 17:54:00
--  
http://www.foxtable.com/webhelp/scr/1485.htm

贴出修改后的代码?然后自己调试是那一句代码有问题

--  作者:jyh7081
--  发布时间:2018/9/5 21:43:00
--  
谢谢老师指点,以上问题已解决。

问个新问题 ,一楼的实例中,我在数据表新建一个逻辑列[编辑状态],然后在div的编辑窗口中用一个复选框与之绑定。
希望实现:当勾选窗口复选框后,窗口中的div禁止编辑。

我在数据表的PrepareEdit代码,没起作用。
想问老师应该怎样控制?

If Forms("编辑窗口").opened AndAlso Forms("编辑窗口").Controls("CheckBox1").Checked = True AndAlso e.Col.Name <> "编辑状态" Then      \'如果不为空
    e.Cancel = True \'则禁止编辑
End If

--  作者:有点甜
--  发布时间:2018/9/5 21:57:00
--  

请自行学习js知识

 

https://www.baidu.com/baidu?wd=js+readonly+disabled