`
imatrix开发平台
  • 浏览: 21969 次
社区版块
存档分类
最新评论

如何设置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-dddynamicColumnDefinition.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;

         }

说明:pagejson需要调dynamicPageToJson

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

 

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

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

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

   

分享到:
评论

相关推荐

    iMatrix6.0.0Dev:iMatrix平台6.0.0.Dev

    iMatrix6.0.0Dev:iMatrix平台6.0.0.Dev源码

    C++实现的Matrix类

    在C++中,这可以通过遍历原矩阵的所有元素并将其放入新矩阵的相应位置来实现,位置的转换规则是原矩阵的(i, j)元素在转置后变为(j, i)。 矩阵的逆运算(求逆)是线性代数中的核心概念,用于解决线性方程组。在C++中...

    SSRS: 动态表头的Matrix实现的源代码

    在动态表头的实现中,我们通常会在列区域设置多级分组,以便在表头中形成层次结构。 在描述中提到的博客文章中,作者分享了实现动态表头的具体步骤和源代码。以下是一些关键点: 1. **创建数据集**:首先,你需要...

    安卓3D标签云卡片热门相关-android项目中的标签控件用于实现热门标签的功能.rar

    在Android中,自定义视图可以满足开发者对界面组件的个性化需求,例如在这个案例中,它可能实现了标签云的3D旋转效果。自定义视图通常会重写`onDraw()`方法来完成自定义的绘制逻辑,并可能包含触摸事件处理,比如...

    DataMatrix动态库源码

    DataMatrix动态库源码是一种用于生成DataMatrix二维条形码的软件开发资源,它由C++语言编写,方便开发者在自己的应用程序中集成DataMatrix码的生成功能。DataMatrix码是一种广泛应用在工业自动化、物流管理、电子...

    5.2.1.RC:iMatrix平台的5.2.1.RC

    4. **兼容性提升**:随着技术的发展,新版本可能增强了与不同硬件、操作系统和浏览器的兼容性,使得iMatrix平台能在更广泛的环境中运行。 5. **API和插件更新**:为了促进与其他系统的集成,iMatrix平台可能会更新...

    ARRAY实现MATRIX运算

    在本主题"ARRAY实现MATRIX运算"中,我们将深入探讨如何利用数组来实现矩阵(Matrix)的运算,特别是针对C++语言的实现。矩阵是数学中的一个二维数组,广泛应用于线性代数、图像处理、物理学等领域。 1. **数组表示...

    DataLogic Matrix300N 中文彩页

    Matrix300N具有超紧凑的外形尺寸、优异的DPM码读取性能、液态镜头动态变焦控制、集成双照明(暗场/明场)、快速和高分辨率的图像传感器、可选以太网供电版和板载PROFINET-IO、最高防护等级IP67工业级,适用于恶劣...

    利用Matrix实现activity跳转的3d效果

    这个话题“利用Matrix实现activity跳转的3D效果”就是关于如何通过Android的Matrix类来创建这样的动画效果。Matrix类是Android图形系统中的核心组件之一,它主要用于处理2D和3D的几何变换。 首先,让我们了解一下...

    labelmatrix(通用条码标签设计系统)v8.60.02中文安装免费版

    label matrix是一款非常好用且功能强大的通用条码标签设计系统,安装使用这款label matrix中文版可以让您在使用过程中不受语言的影响,有需要的朋友们欢迎前来下载使用。 软件特色 独有的条码驱动打印技术,打印...

    矩阵运算Matrix,java实现

    本篇将详细探讨"矩阵运算Matrix,java实现"这个主题,包括矩阵的基本概念、主要运算以及如何在Java中实现这些功能。 矩阵是由有序的数列构成的矩形阵列,通常用大写字母表示,如A、B等。每个数称为矩阵的元素,用a_...

    得利捷(DATALOGIC)matrix-320用户设置手册

    Matrix 320引以为傲的软件可调焦(液态镜头)功能,让用户无需物理调整即可实现自动对焦,大大提高了工作效率和灵活性。手册通过明确的步骤和图示,指导用户如何轻松进行快速配置。 对于那些对读取精度有更高要求的...

    matrix类c#实现

    以上代码展示了如何在C#中实现一个`Matrix`类,包含矩阵的基本运算。然而,实际项目中可能需要考虑更多的细节,如错误处理、性能优化和更复杂的矩阵操作。`Matrix.cs`文件应该包含了这些方法的具体实现,以便在实际...

    安卓Android源码——android相册系统(用Matrix实现).rar

    每个列表项中的ImageView都可以利用Matrix进行独立的图像变换。 6. **性能优化**:由于图像处理可能消耗大量资源,因此在处理大量图片时需要注意性能优化。例如,可以使用内存缓存(LruCache)和磁盘缓存策略来减少...

    iMatrix-v6.5.RC1:平台v6.5.RC1版本对应的原始码,包含lib包-源码包

    在iMatrix-v6.5.RC1中,lib包可能是核心功能的实现,包括数据处理、网络通信、安全控制等关键模块。这些库文件提供了基础服务,使得开发者可以更专注于业务逻辑的开发,而不是重复造轮子。 开源系统的优点在于其...

    MATLAB GUI实现动态画图曲线的源程序代码

    在提供的文件列表中,"MATLAB GUI实现动态画图曲线的源程序代码"很可能是实现上述步骤的示例代码,通过阅读和理解这段代码,你可以更直观地学习如何在MATLAB中构建动态图形界面。而"数学建模学习.txt"可能包含了与...

    datalogic MATRIX 120N说明书

    ### Datalogic MATRIX 120N 图像式读取器相关知识点 #### 一、产品概述 **Datalogic MATRIX 120N**是一款高性能的图像式条码读取器,专为满足工业自动化领域对小型条码读取器的需求而设计。该设备以其紧凑的设计、...

    android 利用matrix实现图片的旋转与缩放

    例如,我们可以在`MatrixTest`这个项目中创建一个Activity,然后在布局文件中添加一个ImageView,设置其ScaleType为Matrix,这样我们就可以直接操作Matrix来改变图片的显示。 ```xml android:id="@+id/imageView...

    Label Matrix32简体中文

    Label Matrix32是一款专业的标签设计软件,主要用于创建各种类型的标签,包括条形码、二维码、图形、文字等,广泛应用于工业、物流、零售等领域。这款软件的简体中文版本为国内用户提供了更友好的操作界面,使其能更...

Global site tag (gtag.js) - Google Analytics