Foxtable(狐表)用户栏目专家坐堂 → 请教:在Table中ActiveSheet和Attribute 同时生效问题。


  共有2525人关注过本帖树形打印复制链接

主题:请教:在Table中ActiveSheet和Attribute 同时生效问题。

帅哥哟,离线,有人找我吗?
lanbor
  1楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:433 积分:4351 威望:0 精华:0 注册:2017/3/20 21:08:00
请教:在Table中ActiveSheet和Attribute 同时生效问题。  发帖心情 Post By:2017/11/12 12:25:00 [只看该作者]

我不懂得如何让Table中ActiveSheet和Attribute 两个属性同时生效。
如下面部份语句:
Wi th wb.Add Table("","Ta ble1")
    .PageNumber = page 
    .ActiveSheet = "menu"
    .Attribute="onc/ick='view_OrderLine()'"
    .Colwidth="12px"
    .Highlight= 1
    .Alternate = 2 

我本希望:
1.当用户单点某行记录时,能调用一个列表函数,直接在当前页面显示本订单的采购明细。
2.当用户双点某行记录时,能弹出底部菜单,对当前订单进选择性操作。

请教:
上面的语句需要如何修改,才能达到两个属性都能同时生效。
谢谢你!

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/11/12 20:37:00 [只看该作者]


 回到顶部
帅哥哟,离线,有人找我吗?
lanbor
  3楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:433 积分:4351 威望:0 精华:0 注册:2017/3/20 21:08:00
多谢专家提示,再请教!  发帖心情 Post By:2017/11/12 22:23:00 [只看该作者]

请恕学生愚鈍!

针对以下语句
Wi th wb.Add Table("","Ta ble1")
    .PageNumber = page 
    .Attribute="onc/ick='view_OrderLine()'"    ‘这种方式函数能正常调用
或者
    .AfterSelChange = "view_OrderLine()"           ‘这种方式函数也能正常调用
    .ActiveSheet = "menu"     ‘关键上我用上面任何一种方式能执行函数,但双点记录行时,这ActiveSheet 底部菜单就是不出现
    .Colwidth="12px"
    .Highlight= 1
    .Alternate = 2 

再请教:
我用.Attribute="onc/ick='view_OrderLine()'"    ‘这种能正常调用
.AfterSelChange = "user_power1()"          ’ ‘这种也能正常调用
问题是上我用上面任何一种方式能执行函数,但双点记录行时,这ActiveSheet 底部菜单就是不出现
但我把这.Attribute或者.AfterSelChange属性行注释后,这ActiveSheet 底部菜单就能出现

请专家指点,多谢多谢!



 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/11/12 22:48:00 [只看该作者]

测试,没问题

 

Select Case e.Path
    Case "test.htm",""
        Dim wb As New WeUI
        With wb.AddInputGroup("","ipg2","备注")
            .AddTextArea("bz",5).Placeholder = "请输入200字以内的备注"
        End With
        With wb.AddTable("","table1")
            .AfterSelChange = "bz.value = new Date()" '置顶选择不同单元格后要执行的js行数,注意区分大小写
            .head.AddRow("部门","姓名","年龄","电话","地址") '表头
            .body.AddRow("技术部","张三","36","110","中国北京") '数据
            .body.AddRow("技术部","李四","38","110","中国上海")
            .body.AddRow("技术部","王五","39","110","中国深圳")
            .body.AddRow("生产部","赵六","39","110","中国深圳")
            .body.AddRow("生产部","刘七","39","110","中国深圳")
            .ActiveSheet = "menu" '指定菜单
        End With
        With wb.AddActionSheet("","menu") '设计菜单
            .Add("menu1", "菜单项目1")
            .Add("menu2", "菜单项目2")
            .Add("menu3", "菜单项目3")
            .Add("menu4","取消","",True)
        End With
        wb.AppendHTML("<script src='./lib/activesheet.js'></script>") '引入脚本文件
        e.WriteString(wb.Build)
End Select


 回到顶部
帅哥哟,离线,有人找我吗?
lanbor
  5楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:433 积分:4351 威望:0 精华:0 注册:2017/3/20 21:08:00
感谢专家,您的样本确实非常好!再请教!  发帖心情 Post By:2017/11/13 10:34:00 [只看该作者]

感谢专家:有点甜
您每次提供的帮助都非常精典,我一测试OK!

我上传一个:模似订单审核的语句。

主是问题还是:
     .AfterSelChange = "statekey=1;po_audit()"             '这里还是没有明白道理,不能与 .ActiveSheet = "menu" 同时起作用
    '.Attribute="""       '这里还是没有明白道理,不能与 .ActiveSheet = "menu" 同时起作用
我的作业与本页地址:http://www.foxtable.com/mobilehelp/scr/0147.htm  就多了一句:wb.AddF orm("","form1",url)

再次诚请专家帮我批一下,究竟哪里做得不对。
多谢多谢您了!


---奇怪,我不能看到我上传的*.zip附件---
[此贴子已经被作者于2017/11/13 10:38:47编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/11/13 10:38:00 [只看该作者]

你 po_audit() 里面写了什么代码?

 

尽量做一个例子发上来测试。


 回到顶部
帅哥哟,离线,有人找我吗?
lanbor
  7楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:433 积分:4351 威望:0 精华:0 注册:2017/3/20 21:08:00
我zip里面放在就是整个审核代码,加order.js文件  发帖心情 Post By:2017/11/13 10:45:00 [只看该作者]

专家好:
我zip里面放在就是整个审核代码,加order.js文件
请将po_audit-zip.txt 变更成po_audit-zip.zip
我的代码对您来说非常简单的。
感谢感谢!

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

[此贴子已经被作者于2017/11/13 10:47:20编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/11/13 11:09:00 [只看该作者]

你在 po_audit() 里面设置了 Location

 

Location是相当于你打开一个新的网页的意思

 

双击后,会先触发单击事件,再触发双击事件的,你网页刷新到一个新的网页去了,自然不会再显示菜单。

 

如果要区分单击和双击,参考

 

Select Case e.Path
    Case "test.htm",""
        Dim wb As New WeUI
        With wb.AddInputGroup("","ipg2","备注")
            .AddTextArea("bz",5).Placeholder = "请输入200字以内的备注"
        End With
        With wb.AddTable("","table1")
            .Attribute = "onclick=""test()"""
            .head.AddRow("部门","姓名","年龄","电话","地址") '表头
            .body.AddRow("技术部","张三","36","110","中国北京") '数据
            .body.AddRow("技术部","李四","38","110","中国上海")
            .body.AddRow("技术部","王五","39","110","中国深圳")
            .body.AddRow("生产部","赵六","39","110","中国深圳")
            .body.AddRow("生产部","刘七","39","110","中国深圳")
        End With
        With wb.AddActionSheet("","menu") '设计菜单
            .Add("menu1", "菜单项目1")
            .Add("menu2", "菜单项目2")
            .Add("menu3", "菜单项目3")
            .Add("menu4","取消","",True)
        End With
        wb.AppendHTML("<script>var i = 0;function test()  {i += 1; var val = setTimeout('call()',250); if(i==2){clearTimeout(val);}} function call()  { if(i==1){alert('click');}else if(i==2){alert('dblclick');}i=0} </script>")

        e.WriteString(wb.Build)
End Select

[此贴子已经被作者于2017/11/13 11:10:05编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
lanbor
  9楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:433 积分:4351 威望:0 精华:0 注册:2017/3/20 21:08:00
感谢专家提示!我立即糾正方法!  发帖心情 Post By:2017/11/13 11:16:00 [只看该作者]

感谢专家提示!

就这2句话,让我学到了新知识点。

Location是相当于你打开一个新的网页的意思

 双击后,会先触发单击事件,再触发双击事件的,你网页刷新到一个新的网页去了,自然不会再显示菜单。

您提供的新测试样本也是我学习的好教材!


多谢多谢您!

[此贴子已经被作者于2017/11/13 11:19:15编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
lanbor
  10楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:433 积分:4351 威望:0 精华:0 注册:2017/3/20 21:08:00
终于解决了这个问题,再请教!  发帖心情 Post By:2017/11/13 15:37:00 [只看该作者]

楼上的问题终于解决了,再请教!

我的po_audit函数语句变更成如下:
//--------------------------------
fu nction po_audit() {
show("state0");hide("state1"); hide("state2"); hide("state3");hide("state4");
if (ta ble1.primary key){
var result=tab le1.rows[tab le1.rowSel].cells[4].inner HTML
show("state0");
switch(result)
{
case "新建":
     show("state1"); break;
case "已提交":
     show("state2"); show("state3"); break;
case "已审核":
     show("state4"); break;
} } }
//----------------------------------

结果是:
我点某一行,按钮能按照预想的显示或隐藏起来,
底部菜单也能正常使用
但在网页刚加载的时候,这些state0,state1,state2,state3,state4按钮是处于显示状态

请教:
如何在刚加载网页的时候、仅执行一次 <bo dy  on load="po_audit()">, 把这些按钮都先隐藏起来?
主要是这代码怎么放?或是应该用其他方法?
先谢谢专家!




[此贴子已经被作者于2017/11/13 15:39:51编辑过]

 回到顶部
总数 14 1 2 下一页