显示动态菜单

一般用户可以忽略本节内容。

本节的任务是设计一个动态菜单,如果当前行部门列的内容为"技术部"时,隐藏“菜单项目1”:

  

 

设计步骤:

1、在"d:\web"目录下,建立一个子目录lib,在这个目录建立一个文本文件,文件名为"activesheet.js",文件内容为:

function dynaActiveSheet(){
   if(table1.rows[table1.rowSel].cells[0].innerHTML=="技术部"){
      hide("menu1");
   }
   else{
      show("menu1");
   }
}

提示: rowSel(注意区分大小写)属性是Foxtable为WeUI扩展的一个表格属性,用于返回选定行的位置,对应还有一个colSel属性,用于返回选定列的位置。

2、HttpRequest事件代码:

Select Case e.Path
    Case "table.htm"
        Dim wb As New WeUI
        With wb.AddTable("","table1")
            .AfterSelChange = "dynaActiveSheet()"
'
置顶选择不同单元格后要执行的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

提示: AfterSelChange属性用于指定在表格中选择不同单元格后,要执行的js事件代码,这里是要执行我们在第一步定义好的js函数,注意js函数是区分大小写的,而且括号不能省略。


本页地址:http://www.foxtable.com/mobilehelp/topics/0147.htm