1. 功能介绍

    通过页面生成配置文件生成表格式的页面布局。

  2. 主要特性

    1. 通过页面生成配置文件生成表格式的页面布局,表格可以自定义高度,表头是否滚动等特效;支持if条件判断及Ajax连动刷新;支持多组件一行布局。
  3. 开发步骤

    1. 生成页面配置文件,在HTML里编写组件代码。
  4. 参数说明

    参数名 参数类型 是否必须 默认值 描述
    layouts java.lang.Object(目前支持java.lang.String类型
    和com.linkage.appframework.data.IData类型)
      页面配置文件路径或页面配置文件里的布局名或页面配置文件转换的IData型数据
    preview boolean类型 false 是否为预览模式,该模式下支持无数据绑定
    source com.linkage.appframework.data.IDataset   需要显示的数据集,与Foreach组件的source相同
    edit boolean类型 false 若列表里有可编辑控件(如:input、button,不包括checkbox,radio),则该值必需为true
    simple boolean类型 false 只生成简单的table代码段
    hight int类型   自定义表格高度
    tableName java.lang.String类型   定义表格的id
    tableEdit boolean类型 false 动态表格,可以与Javascript的TableEdit结合使用,即为每个th加上id="col_"XXXX
    editTag java.lang.String类型 X_TAG 可指定动态表格的标识字段名,即生成col_X_TAG
    needHead boolean类型 true 是否需要表头,若为false,则只生成tbody块
  5. 注意事项

    1. 布局路径在classes目录下的pagexml下,目录分隔符用".",xml文件名不需要".xml",指定布局名时用"@"符连接;如:layouts="pagexml.vipcust";layouts="pagexml.vipcust@vipcustlist"
    2. 若没有指定具体的布局名,则显示配置文件里的第一个布局
    3. 若需要指定th或td的属性,需要在xml里定义[th_XXX].如:指定某列不显示,th_style="display:none",这样才能使th和td都加上style="display:none".并且td属性支持ognl表达式
  6. 代码片段

    1. 配置文件代码

      <page LAYOUT_TYPE="1" name="vipcust" scout="true">
      	<layout aclinic="On" class="find_inbox_list" columns="3" name="vipcustlist">
      		<input datatype="text" desc="vips" jwcid="vips@wade:Checkbox" nullable="no" onclick="checkedAll('vips', checked)" value="ognl:info.VIP_ID" />
      		<input columns="VIP_ID" datatype="text" desc="VIP标识" jwcid="VIP_ID@wade:PageRedirect" nullable="no" onclick="redirectTo('examples.basic.BuilderVipcustEdit', 'queryVipcust', parameters)" source="ognl:info" title="ognl:info.VIP_ID" value="ognl:info.VIP_ID" />
      		<if condition="ognl:condition.CONDITION_TYPE == null">
      			<input datatype="text" desc="客户名称" jwcid="USECUST_NAME@Insert" nullable="no" raw="true" value="ognl:info.USECUST_NAME" />
      		</if>
      		<input th_style="display:none" datatype="text" desc="服务号码" jwcid="SERIAL_NUMBER@Insert" nullable="no" raw="true" value="ognl:info.SERIAL_NUMBER" />
      		<input th_usepspt_id="ognl:info.USEPSPT_ID" th_style="display:none" datatype="text" desc="证件号码" jwcid="USEPSPT_ID@Insert" nullable="yes" raw="true" value="ognl:info.USEPSPT_ID" />
      		<input th_type="1" datatype="text" desc="VIP类型" jwcid="VIP_TYPE_CODE@Insert" nullable="no" raw="true" value="ognl:@com.linkage.component.util.Utility@getStaticValue(page, '#td_m_viptype', info.VIP_TYPE_CODE)" />
      		<input datatype="text" desc="VIP等级" jwcid="VIP_CLASS_ID@Insert" nullable="no" raw="true" value="ognl:@com.linkage.component.util.Utility@getStaticValue(page, '#td_m_vipclass', info.VIP_CLASS_ID)" />
      		<input datatype="text" desc="客户经理" jwcid="CUST_MANAGER_ID@Insert" nullable="yes" raw="true" value="ognl:@com.linkage.component.util.Utility@getStaticValue(page, 'TD_M_STAFF', 'STAFF_ID', 'STAFF_NAME', info.CUST_MANAGER_ID)" />
      		<input datatype="text" desc="加入时间" jwcid="JOIN_DATE@Insert" nullable="no" raw="true" value="ognl:@com.linkage.component.util.Utility@decodeTimestamp('yyyy-MM-dd HH:mm', info.JOIN_DATE)" />
      	</layout>
      </page>
      
    2. HTML写法

      <span 
      	jwcid="@wade:BuilderTable" 
      	layouts="pagexml.vipcust@vipcustlist"
      	preview="true|false"
      	source="ognl:infos"
      	simple="true|false"
      	edit="true|false"
      	tableName="vipcusts"
      	tableEdit="true"
      	editTag="EX_TAG"
      />
      
    3. IData布局

      <span 
      	jwcid="@wade:BuilderTable" 
      	layouts="ognl:table"
      	source="ognl:infos"
      	tableName="vipcusts"
      	needHead="false"
      />
      
  7. 效果演示

    BuilderTable组件