Lotus B/S开发笔记一

王朝other·作者佚名  2006-01-08
宽屏版  字体: |||超大  

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

参考:用户信息表单 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>

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有