日期:2014-05-16  浏览次数:20750 次

如何设置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)