Pi3000学习Word文档下载推荐.docx

上传人:b****6 文档编号:17216132 上传时间:2022-11-29 格式:DOCX 页数:21 大小:420.15KB
下载 相关 举报
Pi3000学习Word文档下载推荐.docx_第1页
第1页 / 共21页
Pi3000学习Word文档下载推荐.docx_第2页
第2页 / 共21页
Pi3000学习Word文档下载推荐.docx_第3页
第3页 / 共21页
Pi3000学习Word文档下载推荐.docx_第4页
第4页 / 共21页
Pi3000学习Word文档下载推荐.docx_第5页
第5页 / 共21页
点击查看更多>>
下载资源
资源描述

Pi3000学习Word文档下载推荐.docx

《Pi3000学习Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《Pi3000学习Word文档下载推荐.docx(21页珍藏版)》请在冰豆网上搜索。

Pi3000学习Word文档下载推荐.docx

结构对象不能在导航树上出现。

原则:

一般需要挂接到导航树上的类型需建成标准对象,而数据量比较大,不需要单独查询一条数据,不需要在导航树上的数据需建成结构对象。

例如变电站、间隔单元等类型需要建成标准对象,而一次设备扩展参数、一次设备附件可建成结构对象。

类型下可以新建分组属性、属性、界面方案和过滤方案等。

分组属性可以把属性分开,在界面上显示时可以按照分组属性展开或收起。

界面方案用来配置类型的显示界面,目前Web上可以配置WebGrid,WebVGrid两种界面,WebGrid界面,以列表的方式显示类型,可以配置列表要显示的字段,字段宽度、对齐方式等。

WebVGrid界面,以单记录两列的方式显示类型信息。

能配置界面显示的字段,字段的高度。

一个类型下可以配置多个界面方案,要使某个界面方案生效,需要在应用对类型的访问控制中,启用该界面方案。

过滤方案主要是用来配置1型视图时使用,可以使类型根据配置的过滤方案分组,在过滤方案下还可以新建过滤方案。

要使过滤方案生效,需要在应用对类型的访问控制中,启用该过滤方案。

3属性定义器。

用来实现类型属性维护时不同的数据录入方式。

∙StringPicker:

用下拉框的方式录入数据。

可以用基础代码做数据源,也可以用sql语句做数据源。

如:

Selectmcfromstaff。

只需要选出一个字段。

∙IDStringPicker:

只能用sql作为数据源。

如selectdm,mcfromstaff,需要选出两个字段,第一个字段为代码字段,第二个字段为显示字段。

数据表中保存代码字段。

∙BD_Name_Selector:

用对象树的方式录入数据。

需要设置如下的参数:

应用标识:

和那个应用关联。

根类型标识:

选择一个类型;

根对象标识:

一个对象的GUID。

数据表中保存对象名称。

∙BD_ID_Selector:

和BD_Name_Selector的设置一样,只是这个选择器返回的是对象的GUID,要求字段长度为varchar42,而BD_Name_Selector返回的是对象名称。

∙DateTime:

日期时间,注意修改显示格式。

4关联

定义两个类型之间的关系,建立关联时可以指定也可以不指定录属字段。

所有的关联在系统表中mwt_om_link中都会存在记录,如果指定录属字段,则在该字段中会保存关联父节点ID,因此这个字段类型需要为varchar(42)。

类型间的连接以系统的连接表mwt_om_link为准,如果需要对类型的连接字段进行查询统计,需使用录属字段,这样可以提高效率,否则需要从系统连接表中查询关联父节点ID,然后到父对象表中查询相关信息。

关联的扩展定义中可以设置关联的表现形式。

关联的表现形式决定了关联在界面上的表现形式,目前关联的表现形式有分组、直连、聚合、直连+聚合四种。

分组:

导航树上下级节点以分组的方式显示。

设置分组时,可以指定一个分组属性,显示时会以这个属性分组。

如果不指定分组属性,则所有下级节点为一个分组。

选中分组时,在平台2型视图中右边以列表方式显示分组对象。

自连:

在导航树上直接挂下级对象。

聚合:

2型视图界面右边以列表的方式显示下级对象,不在导航树上下挂对象。

直连+聚合:

自连和聚合两种效果。

既在导航树上直接挂下级对象,也在右边以列表的方式显示下级对象。

5应用

配置对类型的访问控制,对关联的访问控制。

可以对类型的属性、过滤方案、界面方案、自定义过滤条件(写where条件)设置访问控制。

可以对类型自定义Web界面组件。

在关联的访问控制中,通过扩展定义可以写过滤条件(where后面的语句),在这里也可以修改关联的表现。

例如:

设备类型树,要求只造一次设备类型树:

有两种方法:

1.在类型的自定义条件中,顶级过滤字符串中设置sblxbm='

1'

,只出现一次设备类型。

2.在类型的自定义过滤条件中设置条件:

sblxbm='

然后在关联的扩展定义中的过滤条件中设置:

substr(sblxbm,1,1)='

,把一次设备类型的下级对象过滤出来。

这两种方法都行,建议使用第一种方法。

简单效率高。

6菜单

6.1控制台菜单

设置下面几个参数:

扩展参数:

选择视图类型

所属包:

选择包,这样才可以访问包里面的应用、对象、类型。

视图类型:

选择包中建好的应用,这样可以访问到具体的类型和关联。

对象的GUID

包中建立的类型,根对象标识和根类型标识,只需要确定一个就行。

树起点方式:

分组:

起点出现一个分组的虚拟节点。

对象:

起点直接是对象。

6.2浏览器菜单

URL:

选择模型的URL,可以从下拉框中选择系统默认的模板,也可以直接输入自己做的模板路径。

可以在预览窗口手动输入一些参数。

特别是对于自己定制的模板,参数只能按xml的格式手动输入。

7几个典型模型的配置方法:

7.1一型视图的配置。

配置好的界面如下:

配置方法:

∙建间隔单元类型,建间隔单元的相关属性。

∙新建一个应用。

∙间隔单元类型增加一个过滤方案,把动态过滤的属性设为变电站,所处应用设为第二步中建立的应用。

∙在上一步中建的过滤方案中再新建一过滤方案,把动态过滤的属性设为电压等级,所处应用设为第二步中建立的应用。

∙配置应用的访问控制,把间隔单元类型加到类型的访问控制中,选中间隔单元,右键启用第三步配置的过滤方案。

∙菜单建模,新建浏览器菜单,菜单的URL设为WebView.aspx?

WebView=BDTV1View,配置菜单参数。

应用视图参数:

第二步建立的应用。

类型标识:

间隔单元

对象过滤树:

∙菜单授权。

7.2导航树上点击节点时,不显示节点信息,显示下级节点列表(2型视图)

主要对应用的访问控制进行配置。

选中应用,右键选中访问控制,选中访问的类型,右键、点击自定义过滤和排序条件,打开窗口,把显示详细信息的checkbox选中去掉。

这样选中节点时就不会显示节点的详细信息了。

选中关联的访问控制,选中关联,右键点击扩展定义。

关联表现形式设为直连+聚合,这样选中节点时,会显示下级节点的列表。

点击节点的‘+’号时,会把下级节点直接挂到节点下。

如图:

∙建变电站类型、建间隔单元类型。

建相关的属性。

∙建变电站和间隔单元之间的关联。

∙建应用。

配置应用的访问控制,把变电站类型、间隔单元类型加到类型的访问控制中,选中变电站类型,右键、点击自定义过滤和排序条件,打开窗口,把显示详细信息的checkbox选中去掉。

这样选中变电站时就会显示下级对象间隔单元的列表。

把变电站对间隔单元的关联加到关联的访问控制中。

选中关联,右键,扩展定义。

把关联表现形式设为直连+聚合。

第三步建立的应用。

对象导航树:

变电站类型。

树起点方式:

分组。

7.3导航树上节点以某一属性分组。

这个界面和上一个界面基本类似。

主要有下面两点区别:

∙首先对关联进行扩展定义,把关联的表现方式设为分组,并设定动态分组属性(选择关联目标类型的某一属性),如果不设,则下级节点整个分为一组。

∙配置应用的关联访问控制,选中关联的访问控制,选中关联,右键点击扩展定义。

关联表现形式设为分组

这样能配置如下的界面:

这种配置方式现在有个问题,象下图,如果选择炳灵变电站,则怎么配置都不能显示这个变电站下的所有间隔单元列表。

只能显示变电站的详细信息或者什么都不显示。

希望在关联的访问控制中能够提供一种表现方法:

聚合+分组

7.4BDGrid界面的定制。

可以对BDGrid界面进行定制。

给类型新建一个界面方案,方案类型选择WebGrid,点击内容弹出窗口,进行配置,可以配置要显示的列,列宽度、对齐方式等。

配置好后,在应用对类型的访问控制中需要把类型的界面方案启用,这样可以配置出如下的界面:

8在平台提供的典型视图中引入自定义脚本、自定义界面的方法。

8.1自定义脚本

可以为一型视图、二型视图等平台的典型视图引入自定义脚本。

客户端的脚本都是针对一个应用,具体配置如下:

找到菜单对应的应用,给这个应用的周知标识设定一个值。

这个值和portal网站上的目录结构需要一致。

如周知标识取为:

SB/SBGG.JGDY。

就说明这个应用的脚本放在目录project-home\applications\SB\SBGG.JGDY\scripts\。

其中project-home\applications目录时平台默认的目录,SB\SBGG.JGDY根据周知标识确定,scripts目录是平台约定的存放脚本的目录。

在scripts目录下新增一个文件Application.js(名字必须一致)。

在这个js文件中增加一个过程Application_onStart()(名字必须一样),然后在这个过程中编写相应的脚本就行,在这个js文件中可以访问jsp模板中的所有控件。

如下列代码:

functionApplication_onStart()

{

bdGrid.onAfterSave.addHandler(bdGrid_onAfterSave);

bdGrid.onBeforeCreate.addHandler(bdGrid_onBeforeCreate);

bdGrid.onBeforeSave.addHandler(bdGrid_onBeforeSave);

}

functionbdGrid_onAfterSave(sender,args)

mw.Debugger.print("

Saved"

);

}

functionbdGrid_onBeforeCreate(sender,args)

if(bdNaviTree.getSelectedNode().text!

="

变电站"

alert("

请选中变电站"

args.cancel=true;

functionbdGrid_onBeforeSave(sender,args)

if(!

bdGrid.businessData)

{

alert("

没有需要保存的数据!

}

8.2引入自定义jsp文件

可以给应用的一些特别类型引入自定义界面,而其他类型可以使用平台默认界面。

配置方法如下:

找到菜单对应的应用,打开应用的访问控制,选中需要自定义界面的类型,点击自定义web页面组件,在表单组件中输入jsp的url:

/PROJECT-HOME/applications/SB/BDSB.SBXX/bddetailviews/ZBYQ.jsp。

一个应用的js文件、jsp文件等需要放到相同的目录下,这样便于管理。

自定义的界面是完整的jsp页面,需要继承nariis.pi3000.portal.pages.BDDetailViewPage类,这个类提供下列这些方法来取得相

关的数据。

如下列自定义页面:

用tab页的方式显示设备的信息。

<

%@pagelanguage="

java"

contentType="

text/html;

charset=UTF-8"

pageEncoding="

UTF-8"

extends="

nariis.pi3000.portal.pages.BDDetailViewPage"

%>

%@taglibprefix="

mw"

tagdir="

/WEB-INF/tags"

%>

html>

head>

<

mw:

Framework/>

linkrel="

stylesheet"

href="

%=request.getContextPath()%>

/css/common.css"

/>

/head>

body>

BDDataSourceid="

dataSource"

appID="

32B64648-8725-4DAD-BF9C-CBB65B845905"

clsID="

9C8BB089-DEAC-4E68-A4E4-E68221DF475E"

TabControlid="

tabControl"

width="

660"

height="

400"

>

TabPageid="

basicinfo"

text="

基本信息"

EditorZoneid="

editorZone1"

dataSource="

table>

trheight="

25"

tdwidth="

80"

设备类型<

/td>

150"

EditorattrName="

SBYX"

电压等级<

DYDJ"

/tr>

/table>

/mw:

EditorZone>

TabPage>

arguments"

扩展参数"

text="

附件部信息"

图纸资料"

TabControl>

script>

dataSource.objID="

%=getObjID()%>

;

dataSource.load();

/script>

/body>

/html>

9定制界面的几种方法

9.1皮肤

可以给应用的一些特别类型引入皮肤(也就是自定义界面),而其他类型可以使用平台默认界面。

皮肤实际上就是一个HTML文件,只是在中间插入了一些特殊标记符号,BDDetailModule在解释Skin时,会将这些符号替换成相应的标签或属性编辑器。

具体规范如下:

标记

说明

示例

CAPTION#

当前业务对象的标题。

ANattrid#

对应该属性ID(attrid)的属性显示名称。

ANa0aa92ea-26b2-45aa-ab56-41b466eb9577#

AN-attrname#

当前编辑的业务对象的业务类型ID。

AN-MC#

AVattrid#

对应该属性ID(attrid)的属性值。

AVa0aa92ea-26b2-45aa-ab56-41b466eb9577#

AV-attrname#

对应该属性名称(attrname)的属性值。

AV-MC#

如/PROJECT-HOME/skins/SB/BDSB.SBXX/ZBYQ.htm。

皮肤文件都约定放在/PROJECT-HOME/skins/目录下的相应目录。

参照安全生产系统相关规范.doc

例子:

见MWT_PD_EMPS_Skin.htm。

9.2引入jsp

见8.2

9.3使用控件完全定制界面(jsp文件)。

pi3000平台提供了很多标签库,可以比较方便的实现页面的定制。

要把定制的jsp文件配置到菜单上,在配置菜单时,把菜单的url指定为jsp文件所在的路径即可。

定制的jsp开头需要引用下列两句话才能使用平台提供的标签库。

%@pagecontentType="

定制的jsp都约定放在/PROJECT-HOME/webviews/目录下的相应目录。

10一些典型控件的使用

10.1BDGRID

10.1.1查询数据

调用BDGrid的query过程即可。

///<

summary>

根据指定的条件进行查询,并刷新当前列表。

/summary>

paramname="

p_clsID"

optional="

true"

指定的业务数据对象类型标识。

如果没有指定,则默认为clsID属性的值。

/param>

p_asctID"

指定的业务数据关联标识。

如果没有指定,则默认为asctID属性的值。

p_parObjID"

指定的业务数据对象的父对象标识。

如果没有指定,则默认为parObjID属性的值。

p_filter"

指定的过滤条件。

如果没有指定,则默认为filter属性的值。

me.query=function(p_clsID,p_asctID,p_parObjID,p_filter,p_page)

10.1.2屏蔽双击打开对象详细信息

有时双击表格时间需要定制一些东西,可控件默认为打开双击对象的详细信息,使用如下代码可屏蔽这功能。

如下代码:

functionApplication_onStart()

{

//加入自己的双击处理代码

bdGrid.onRowDoubleClick.addHandler(bdGrid_onRowDoubleClick);

//屏蔽显示详细信息代码

bdGrid.showDetailViewDialog=bdGrid_showDetailViewDialog;

}

functionbdGrid_showDetailViewDialog()

functionbdGrid_onRowDoubleClick(sender,args)

{

varobjID=args.row.id;

alert(objID);

10.1.3得到选中的对象信息。

functionApplication_onStart()

bdGrid.onSelectionChanged.addHandler(bdGrid_onSelectionChanged);

functionbdGrid_onSelectionChanged(sender,args)

for(vari=0;

i<

bdGrid.selections.length;

i++)

alert(bdGrid.selections[i].getAttribute("

JGMC"

));

10.1.4得到保存后保存的对象信息

varobjIDs=args.savedObjIDs;

varbd=null;

objIDs.length;

bd=bdGrid.businessData.getBusinessDataByID(objIDs[i]);

alert(bd.getAttribute("

}

10.1.5保存前得到需要保存的对象信息,检查非空。

下列代码得到需要保存的数据列表,如果有对象的BDZ属性为空,则提示用户,不让保存。

varbds=bdGrid.businessData.getChangedBusinessData();

bdGrid.businessData.getChangedBusinessData())

}

else

for(vari=0;

bds.length;

bds[i].getAttrib

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试认证 > IT认证

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1