[RockWell FTPC]对象介绍_Lists
介绍
List常用于各种配置文件,如数据连接、form样式、下拉框的数据源。类型分为String型和对象型
String型
string型分为两大类
第一类是单独使用listItem
第二类是将listItem拼接成字符传格式的xml、jason等文件、再解析后进行使用
下拉框使用list
创建一个list如下
创建一个form,添加一个下拉框,用于演示下拉框获取list数据
将以下代码绑定至form initForm事件
function initCombobox()
{
dsList = getList("OrderStatus")
listItems = dsList.getValues()
for (i=0; i<listItems.size(); i++)
{
combobox1.addItem(listItems.get(i))
}
}
运行效果如下
下拉框使用list(key-value格式)
list 如下
form代码如下
package com.ra.mes;
public class ComboBoxBean{
public String id="";
public String name="";
public String str1="";
public String str2="";
public String str3="";
public String str4="";
public String str5="";
public String toString(){
return name;
}
}
import("com.ra.mes.ComboBoxBean")
function initCombobox()
{
dsList = getList("OrderStatus")
listItems = dsList.getValues()
for (i=0; i<listItems.size(); i++)
{
listItem = listItems.get(i)
array = listItem.split("=")
bean=ComboBoxBean()
bean.id = array[1].toString()
bean.name = array[0].toString()
combobox1.addItem(bean)
}
}
获取代码
println(combobox1.getSelectedItem().id)
println(combobox1.getSelectedItem().name)
使用list配置form样式
list如图,随便写几个样式
代码如下
/* bg-color of forms -not sure if neccessary */
Form {
background-color: rgb(255,255,255);
}
FlatLabel {
background-color: rgb(255,255,255);
}
FlatButton {
background-color: rgb(74,139,194);
foreground-color: rgb(255,255,255);
border-style: none;
style: superflat;
}
FlatCheckBox {
background-color: rgb(230,237,253);
foreground-color: rgb(0,0,0);
}
Edit {
border-color: rgb(203,203,203);
}
ComboBox {
background-color: rgb(255,255,255);
}
往刚才的按钮中随便放几个按钮、文本
运行效果如下:
Form增加运用样式的代码
function getStyleStringFromList(listName)
{
list = getList(listName)
s = ""
if (list != null)
{
foreach i (list.getItems())
{
s+= i
}
}
return s
}
objForm = getActiveDsForm()
response = objForm.applyStylesheet(getStyleStringFromList("formStyle"))
checkAndDisplayResponse(response)
运行效果如下:
xml格式
创建list
代码如下:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<UseCaseConfig id="PMC Menu" administrative="false" accessPrivilege="PMC Menu" positionNumber="0">
<!-- 系统管理 -->
<DataTemplate id="SystemManagement" autoExpand="false" editable="true" explodeToMultipleNodes="false"
dataClass="" administrative="false" positionNumber="0" accessPrivilege="Folder_SystemManagement">
<NavigationPane messagePack="pmc_Menus" messageId="folder_system_management" tooltipId=""
icon="MENU_SYSTEM" expandedIcon="" />
<!-- 用户管理 -->
<DataTemplate id="UserManagement" accessPrivilege="Form_MES_UM_User">
<NavigationPane messagePack="pmc_Menus" messageId="form_user_configuration" tooltipId=""
icon="Menu Department" expandedIcon="" />
<Action id="acAddUser" actionClass="buttonAdd" privilege="Action_Add_User" messagePack="pmc_Menus"
messageId="button_add_user" tooltipId="button_add_user_Hint" icon="Menu Action" />
<Action id="acDeleteUser" actionClass="buttonDelete" privilege="Action_Delete_User" messagePack="pmc_Menus"
messageId="button_delete_user" tooltipId="button_delete_user_Hint" icon="Menu Action" />
<Action id="acEditUser" actionClass="buttonEdit" privilege="Action_Edit_User" messagePack="pmc_Menus"
messageId="button_edit_user" tooltipId="button_edit_user_Hint" icon="Menu Action" />
<Action id="acAddGroupUser" actionClass="buttonAddGroup" privilege="Action_AddGroup_User"
messagePack="pmc_Menus" messageId="button_addgroup_user" tooltipId="button_addgroup_user_Hint" icon="Menu Action" />
<Action id="acRemoveGroupUser" actionClass="buttonRemoveGroup" privilege="Action_RemoveGroup_User"
messagePack="pmc_Menus" messageId="button_removegroup_user" tooltipId="button_removegroup_user_Hint"
icon="Menu Action" />
<Action id="acLockUser" actionClass="buttonLock" privilege="Action_Lock_User" messagePack="pmc_Menus"
messageId="button_Lock_user" tooltipId="button_Lock_user_Hint" icon="Menu Action" />
<Action id="acUnLockUser" actionClass="buttonUnlock" privilege="Action_Unlock_User" messagePack="pmc_Menus"
messageId="button_unlock_user" tooltipId="button_unLock_user_Hint" icon="Menu Action" />
<EmbeddedFormView formClass="MES_UM_User" />
</DataTemplate>
<!-- 用户组管理 -->
<DataTemplate id="UserGroupManagement" accessPrivilege="Form_MES_UM_UserGroup">
<NavigationPane messagePack="pmc_Menus" messageId="form_usergroup_configuration" tooltipId=""
icon="Menu Department" expandedIcon="" />
<Action id="acAddUserGroup" actionClass="buttonAdd" privilege="Action_Add_UserGroup" messagePack="pmc_Menus"
messageId="button_add" tooltipId="button_add_usergroup_Hint" icon="Menu Action" />
<Action id="acDeleteUserGroup" actionClass="buttonDelete" privilege="Action_Delete_UserGroup"
messagePack="pmc_Menus" messageId="button_delete" tooltipId="button_delete_usergroup_Hint" icon="Menu Action" />
<Action id="acEditUserGroup" actionClass="buttonEdit" privilege="Action_Edit_User" messagePack="pmc_Menus"
messageId="button_edit" tooltipId="button_edit_usergroup_Hint" icon="Menu Action" />
<Action id="acAddGroupUser" actionClass="buttonAddUser" privilege="Action_AddUser_UserGroup"
messagePack="pmc_Menus" messageId="button_adduser_usergroup" tooltipId="button_adduser_usergroup_Hint"
icon="Menu Action" />
<Action id="acRemoveGroupUser" actionClass="buttonRemoveUser" privilege="Action_RemoveUser_UserGroup"
messagePack="pmc_Menus" messageId="button_removeuser_usergroup" tooltipId="button_removeuser_usergroup_Hint"
icon="Menu Action" />
<EmbeddedFormView formClass="MES_UM_UserGroup" />
</DataTemplate>
<!-- 用户权限管理 -->
<DataTemplate id="AccessPrivilegeManagement" accessPrivilege="Form_MES_UM_User_UsablePrivilege">
<NavigationPane messagePack="pmc_Menus" messageId="form_user_usable_privilege_configuration"
tooltipId="" icon="Menu Department" expandedIcon="" />
<Action id="acSaveUser" actionClass="buttonSave" privilege="Action_Save_User" messagePack="pmc_Menus"
messageId="button_save" tooltipId="button_save_user_Hint" icon="Menu Action" />
<EmbeddedFormView formClass="MES_UM_User_UsablePrivilege" />
</DataTemplate>
<!-- 用户组权限管理 -->
<DataTemplate id="UserGroupPrivilegeManagement" accessPrivilege="Form_MES_UM_UserGroup_Privilege">
<NavigationPane messagePack="pmc_Menus" messageId="form_usergroup_privilege_configuration"
tooltipId="" icon="Menu Department" expandedIcon="" />
<Action id="acSaveUserGroup" actionClass="buttonSave" privilege="Action_Save_UserGroup"
messagePack="pmc_Menus" messageId="button_save" tooltipId="button_save_usergroup_Hint" icon="Menu Action" />
<EmbeddedFormView formClass="MES_UM_UserGroup_Privilege" />
</DataTemplate>
</DataTemplate>
</UseCaseConfig>
使用
dsList = getList("menuConfig")
strBuffer = StringBuffer()
if(dsList != null)
{
vectorS = dsList.getItems()
for(i = 0; i < vectorS.size(); i++)
{
strBuffer.append(vectorS.get(i) + "\n")
}
}
println( strBuffer.toString())
//拼接成字符串后解析XML
//此过程省略
对象型
PD创建
对象型需要更改List的type属性
以Equipment为例
打开Equipment对象,选择一个设备,鼠标左键拖动至List,可以完成添加
完成后需要点击保存
代码方式创建
objList = createDsList("EquipmentList2")
objList.setType(class com.datasweep.compatibility.client.DsList::TYPE_OBJECT)
objList.setObjectType(class com.datasweep.compatibility.client.DsList::OBJECT_TYPE_EQUIPMENT)
objList.addItem(getEquipmentByName("101AFJ"))
resp = objList.save()
checkAndDisplayResponse(resp)
运行后需要刷新List
获取
dsList = getList("EquipmentList")
items = dsList.getItems()
for(i = 0 ;i< items.size();i++)
{
equipment = items.get(i)
println(equipment.getDescription())
}
输出如下: