中国IT动力,最新最全的IT技术教程
最新100篇 | 推荐100篇 | 专题100篇 | 排行榜 | 搜索 | 在线API文档
首 页 | 程序开发 | 操作系统 | 软件应用 | 图形图象 | 网络应用 | 精文荟萃 | 教育认证 | 硬件维护 | 未整理篇 | 站长教程
ASP JS PHP工程 ASP.NET 网站建设 UML J2EESUN .NET VC VB VFP 网络维护 数据库 DB2 SQL2000 Oracle Mysql
服务器 Win2000 Office C DreamWeaver FireWorks Flash PhotoShop 上网宝典 CorelDraw 协议大全 网络安全 微软认证
硬件维护  CPU  主板  硬盘  内存  显卡  显示器  键盘鼠标  声卡音箱  打印机  机箱电源  BIOS  网卡  C#  Java  Delphi  vs.net2005
  当前位置:> 程序开发 > 编程语言 > LOTUS > 开发心得
Lotus B/S开发笔记一
作者:未知 时间:2005-07-22 13:40 出处:Lotus中文技术站 责编:chinaitpower
              摘要:根据当前用户名称在组织单元库中查找用户的单位及部门。 参考:用户信息表单 sys_user 用户所属单位域 txt_BelongtoUnit 用户所属部门域 txt_BelongtoDepartment (供其它库选人员)视图 (AllUser) REM {根据当前用户的名字计算出拟稿人所在部门}; server:=@Name([CN];@Subset(@DbName;1)); path:=@LeftBack(@Subset(@DbN

根据当前用户名称在组织单元库中查找用户的单位及部门。

参考:用户信息表单 sys_user

用户所属单位域 txt_BelongtoUnit

用户所属部门域 txt_BelongtoDepartment

(供其它库选人员)视图 AllUser

REM {根据当前用户的名字计算出拟稿人所在部门};

server:=@Name([CN];@Subset(@DbName;1));

path:=@LeftBack(@Subset(@DbName;-1);"\");

dbname := "sys_org.nsf";

dbpath:=path+"\"+dbname;

viewname := "(AllUser)";

username := @Name([CN];@UserName);

fieldname := "txt_BelongtoUnit";

@DbLookup("":"nocache";server:dbpath;viewname;username;fieldname)

注解:

server 的值是空的。dbname, viewname, fieldname 是要根据不同的情况来赋值的。

 

视图显示加入HTML控制问题。

视图第一列是分类和排序列。其他列为标准无序列。

如果需要在视图条目的前面加上复选框。在最前面插入一列新列,标题为 “<tr><th>&nbsp</th>”。列公式为: “<tr><input type=checkbox name=SelectDoc value=”+@text(@DocumentUniqueID)+ “></tr>”

在第一列分类列和复选框列之间加上一列“空白”列。标题没有。列公式为: “<tr><img src=/icons/ecblank.gif></td>”

一定要注意:分类列属性框之排序签中“合并分类信息”选项不要选定。

 

如果在其他列中有多值域作为列公式,则该列属性框中应该选中“将多值分开显示成独立的行”,并且还要排序。只选中两项中的任一项都不能正确显示。

 

如果不需要复选框,则这一列“空白”列要加到第一列分类列的后面,第二列的前面。并且要在最前面加上一列,标题和公式都是: “<tr>”

 

web 上实现私有视图的功能

私有视图的特点是,视图只显示跟当前用户相关的文档条目。因此可以如下设想:将相关的视图设计成按用户名分类,然后嵌入到表单中。在表单的头部加入一个文本域,这个域的作用就是记录当前用户名。嵌入视图只显示单个分类。

 

在嵌入视图的表单中加入文本编辑框

在嵌入视图的以$$ViewTemplate for开头命名的表单中,加入文本编辑框后,网页上可以出现文本编辑框,但是如果是特定名称的表单$$ViewTemplateDefault,只以文本形式显示在网页上(似乎变成了计算文本域),不出现编辑框。

命名为$$ViewTemplateDefault的表单在生成网页时由服务器生成的javascript与命名为$$ViewTemplate for viewname的表单是不相同的。因此不能采用保存(提交)操作。

 

网页中各对象的使用

如果网页中某个名称的同类对象只存在一个实例,则不能使用数组的方式读取。若存在多个,则可以。

<html><head><script language=javascript>

function GetSelectedDocID(){

       with( window.document.forms[0] )

       {     var size = elements.length;

              var num = 0;

              var str = "";

              var n = 0;

              for(var i=0; i<size; ++i)

                    if( elements[i].name == "SelectDoc" )

                     {     ++num;

                            if(elements[i].checked == true ) ++n;

                     }

             if( num == 1 )

              {     if( SelectDoc.checked == true) str += SelectDoc.value;

              //     DocumentID.value = str;

              }

              else

              {

                     for(var i=0,j=0; i<num; i++)

                     {     if(SelectDoc[i].checked == true)

                            {     if( j < n-1 ) {str += SelectDoc[i].value +","; ++j; }

                                   else { str += SelectDoc[i].value;}

                            }

                     }

              }

DocumentID.value = str;

       }

}

</script></head><body >

<form name=form1 action=post onSubmit='GetSelectedDocID()'>

<input type=text name=DocumentID value=""><br>

<input type=checkbox name=SelectDoc value=xxxx>xxxx<br>

<!--

<input type=checkbox name=SelectDoc value=yyyy>yyyy<br>

<input type=checkbox name=SelectDoc value=zzzz>zzzz<br>

// -->

<input type=submit value=submit>

</form></body></html>

 

关闭本页
 
首页 | 投资与合作 | 服务条款 | 隐私政策 | 收藏本站 | 设为首页 | 新用户注册 | 免责声明 | 使用帮助
Copyright ©2005-2008 chinaitpower.com All rights reserved. www.chinaitpower.com 版权所有