如何设置iMatrix平台中列表标签(gridjqGrid)实现动态列表

动态列表


以demo中“订单(动态列表)”为例说明:此列表显示的信息包括订单主表的信息和订单子表的信息,其中主表信息是编号为ES_ORDER对应列表的信息,子表的信息是从后台动态取得:

1.列表标签中需增加属性dynamicColumn=””;

<grid:jqGrid gridId="dynamicOrder"
url="${ctx}/order/dynamic-order.htm" code="ES_ORDER" pageName="dynamicPage"
dynamicColumn="${dynamicColumn}"></grid:jqGrid>

在action中定义变量与其对应:

private List<DynamicColumnDefinition> dynamicColumn=new
ArrayList<DynamicColumnDefinition>();

2.进入列表页面时后台action调用方法packagingDynamicColumn(),将动态列表追加的表头信息添加进去,追加子表的表头信息是子表中的某个字段,如下方法:

private void packagingDynamicColumn() throws Exception {

//取得子表字段产品名称,以此字段作为表头

List<Object> productNames=orderManager.getOrderItem();

for(int i=0;i<productNames.size();i++){

// "productName"+i是动态列表中每一列的的id

DynamicColumnDefinition dynamicColumnDefinition=new
DynamicColumnDefinition(productNames.get(i)

.toString(),"productName"+i);

//是否可编辑

dynamicColumnDefinition.setEditable(true);

//设置数据类型

dynamicColumnDefinition.setType(DataType.INTEGER);

//设置编辑规则

dynamicColumnDefinition.setEditRules("required:true");

//设置是否合计

dynamicColumnDefinition.setIsTotal(true);

//是否导出true表示导出,false表示不导出,默认为true

dynamicColumnDefinition.setExportable(false);

//是否显示true表示显示,false表示不显示,默认为true

dynamicColumnDefinition.setVisible(false);

//列宽

dynamicColumnDefinition.setColWidth("100");

//编辑时为下拉选

dynamicColumnDefinition.setEdittype(EditControlType.SELECT);

dynamicColumnDefinition.setEditoptions("1:‘启用‘,2:‘禁用‘");

///编辑时为下拉选时的chang事件

dynamicColumnDefinition.setEventType(EventType.ONCHANGE);

//编辑时给input框增加点击事件

dynamicColumnDefinition.setEventType(EventType.ONCLICK);

//编辑时增加默认值CURRENT_USER_NAME表示当前用户名、CURRENT_LOGIN_NAME表示当前登录名、CURRENT_TIME表示当前时间(yyyy-MM-dd
hh:mm:ss)、CURRENT_DATE表示日期(yyyy-MM-dd)dynamicColumnDefinition.setDefaultValue(DefaultValue.CURRENT_USER_NAME);
dynamicColumnDefinition.setDefaultValue(DefaultValue.CURRENT_LOGIN_NAME);
dynamicColumnDefinition.setDefaultValue(DefaultValue.CURRENT_TIME);

dynamicColumnDefinition.setDefaultValue(DefaultValue.CURRENT_DATE);

dynamicColumn.add(dynamicColumnDefinition);

}

}

上述方法中dynamicColumnDefinition的属性根据需求设定,很多是不需要设定的;

  1. 标签中取列表数据在后台需调用下面方法:

@Action("dynamic-order")

public String
getDynamicOrder() throws Exception {

dynamicPage=orderManager.search(dynamicPage);

this.renderText(PageUtils.dynamicPageToJson(dynamicPage,new
DynamicColumnValues(){

public void addValuesTo(List<Map<String, Object>> result) {

Map<String,DynamicColumnDefinition>
dynamicColumnName=mmsUtil.getDynamicColumnName();

//取动态列表的列的id

Set<String> productNames=dynamicColumnName.keySet();

for(Map<String, Object> map:result){

Long orderId=Long.valueOf(map.get("id").toString());

for(String productName:productNames){

DynamicColumnDefinition
productValue=dynamicColumnName.get(productName);

//在子表的字段中设置值,这里取的是产品数量

map.put(productName.toString(),
orderManager.getProductAmount(productValue.getColName(),orderId));

}

}

}

}));

return null;

}

说明:page转json需要调dynamicPageToJson;

result是主表取出来的每一条数据。

关于标签更详细的资料可以到官网下载:http://www.imatrix.net.cn

如有使用iMatrix平台问题请登录iMatrix平台论坛咨询:

http://bbs.imatrix.net.cn/forum.php?mod=forumdisplay&fid=37

或者加入QQ群307599527

时间: 2024-10-29 10:46:24

如何设置iMatrix平台中列表标签(gridjqGrid)实现动态列表的相关文章

iMatrix平台中页标签树(ztree:ztree-leaf)用法

1.1.1    页签标签树<ztree:ztree-leaf> 1.1.1.1    用法 <ztree:ztree-leaf leafs='[{                                 leaftitle:"部门人员树",                                 treeId:"treeId1",                                 treeType: "MA

iMatrix平台中组织结构树标签(acsTagstree)树的API

1.1    树的api 1.1.1    标准树api 单选树:    选人api getId();//用户id getName();//用户名 getType();//树节点类型 getLoginName();//用户登陆名 getSingleInfor();//树节点信息,可以传参数:user或department或workGroup,不传参数时默认为"user",例:传“user:选人后此方法返回值如:[{type:"user",id:"4&quo

iMatrix平台中组织结构树标签acsTags:tree用法

1         组织结构树标签(acsTags:tree) 1.1    引入js <script type="text/javascript" src="${resourcesCtx}/widgets/ jstree/jquery.jstree.js"></script> 1.2    用法 1.2.1    开发系统中添加以下资源:查询是否已加入编号为tag_tree的资源,若没有则添加 编号:tag_tree,名称:标签树资源,路径

iMatrix平台中标签数(在tree:ztree)用法(2)

1.1.1    标签树<ztree:ztree> 1.1.1.1    用法 <ztree:ztree treeType="MAN_DEPARTMENT_TREE" treeId="treeDemo" userWithoutDeptVisible="true" showBranch="true" chkStyle="checkbox" chkboxType="{'Y' : 'p

iMatrix平台中脚本样式标签(grid:JC)使用说明

1         脚本样式标签(grid:JC) 动态引入JavaScript/CSS控件中选中的javascript文件和css样式文件,并且在该表单中可以引用这些脚本和样式. 1.1    用法 在表单页面(弹出的表单页面等不是刷新区域实现的页面)或列表页面(如果是anywhere刷新区域则需要在主页面列表页面中引入该标签)中引入标签: <grid:JC code="${formCodes}" version="${formVersions}">&

iMatrix平台中工作流按钮标签(wf:workflowButtonGroup)的解释说明

1         工作流按钮标签(wf:workflowButtonGroup) <wf:workflowButtonGroup  taskId="${taskId }"></wf:workflowButtonGroup> 1.1    引入: <script type="text/javascript" src="${ imatrixCtx }/wf/js/workflowTag.js"></scri

在iMatrix平台中如何实现页签树popLeafTree(zTreeSetting)

1.1.1    页签树popLeafTree(zTreeSetting) 使用该方法实现页签显示组织结构功能,效果如图: 1.1.1.1     用法 var zTreeSetting={ leafs: [{ leaftitle:"部门人员树", treeId:"treeId1", treeType: "MAN_DEPARTMENT_TREE", chkStyle:"checkbox" },{ leaftitle:"

html中有序列表标签ol,li的高级应用

本文主要介绍html中有序列表标签ol,li的高级应用, 在网页设计时我们设计有序列表内容时,经常会在每个ITEM前手工加上一个数值,或是由程序加上这个数值. 而如果使用有序列表标签ol和li,则不需要这么麻烦,根本不用自行去填写序数,当单层列表的时候这种特性似乎并不明显,而当使用多层的时候其特性就很明显了. 一般的标签ol和li有序列表应用代码如下: <ol> <li>列表内容一</li> <li>列表内容二</li> <li>列表

SEO中HTML标签权重列表

网上流传很久的一份资料<SEO中HTML标签权重>,这里做一份备份.HTML标签权重分值排列内部链接文字:10分 标题title:10分 域名:7分 H1,H2字号标题:5分 每段首句:5分 路径或文件名:4分 相似度(关键词堆积):4分 每句开头:1.5分 加粗或斜体:1分 文本用法(内容):1分 title属性:1分 (注意不是<title>, 是title属性, 比如a href=- title=") alt标记:0.5分 Meta描述(Description属性)