glt_nf.ftl 4.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  1. <#--多记录表的固定表头和扩展表头的输出方式基本一样,所以先先定义个表头宏,简化代码 -->
  2. <#macro GLT_HEADER v_head_arr isFixed>
  3. <div class=fwdatagrid-header >
  4. <div class=fwdatagrid-header-inner >
  5. <table border=0 cellspacing=0 cellpadding=0>
  6. <tbody>
  7. <#if ((v_head_arr?size) > 0 )>
  8. <#if isFixed ><#--固定表头前才需要先输出一个空列 -->
  9. <#assign td_rownumber>
  10. <td rowspan=${v_head_arr?size}><div class=fwdatagrid-header-rownumber></div></td>
  11. </#assign>
  12. </#if>
  13. <#list v_head_arr as row>
  14. <tr>
  15. ${td_rownumber!""}<#assign td_rownumber=""><#--只在第一行生成,其他行输出空 -->
  16. <#list row as col><#--列数据生成 -->
  17. <td rowspan=${col.rowspan!1} colspan=${col.colspan!1} <#if col.align??>
  18. _al=${col.align}</#if> sortable=${col.sortable!'true'}>
  19. <#if !(col.lastRowIndex??)><#--标题组生成方式 -->
  20. <#if col.checkbox??><#--生成checkbox -->
  21. <div class=fwdatagrid-cell <#if col.width??>width=${col.width}</#if> >
  22. <input type=checkbox class=fwdatagrid-header-check>
  23. <#else>
  24. <div class=fwdatagrid-cell-group <#if col.width??>width=${col.width}</#if> >
  25. ${col.title!""}
  26. </#if>
  27. </div>
  28. <#else><#--非标题组生成方式 -->
  29. <div class=fwdatagrid-cell <#if col.width??>style="width=${col.width}"</#if> lastRowIndex="${col.lastRowIndex}">
  30. <#if col.checkbox??><#--生成checkbox -->
  31. <input type=checkbox class=fwdatagrid-header-check>${col.title!""}
  32. <#else>
  33. <span>${col.title!""}</span>
  34. <span class=fwdatagrid-sort-icon>&nbsp;</span>
  35. </#if>
  36. </div>
  37. </#if>
  38. </td>
  39. </#list>
  40. </tr>
  41. </#list>
  42. <#elseif isFixed>
  43. <tr>
  44. <td rowspan=1><div class=fwdatagrid-header-rownumber></div></td>
  45. </tr>
  46. </#if>
  47. </tbody>
  48. </table>
  49. </div>
  50. </div>
  51. <div class=fwdatagrid-body>
  52. <div class=fwdatagrid-body-inner></div>
  53. </div>
  54. </#macro>
  55. <#-- 开始生成多记录表脚本-->
  56. <#if parameters.hasTitle!true >
  57. <fieldset class="fieldset2" align="center" style="cursor:default;width:${parameters.width!"100%"}" >
  58. <legend class="legend" style="cursor:hand;" >
  59. <span onclick="_FW.oFtl.fnShowTable('img_${parameters.id}_grid','${parameters.id}')" >
  60. <img id="img_${parameters.id}_grid" src="${request.contextPath}/themes/default/images/query_icon_right.gif">
  61. </span>
  62. <span title="单击展开或收缩" onclick="_FW.oFtl.fnShowTable('img_${parameters.id}_grid','${parameters.id}')">
  63. ${parameters.title!(parameters.glt.title!'')}
  64. </span>
  65. </legend>
  66. </#if>
  67. <div align="left" style="width:100%" id="${parameters.id}" >
  68. <div class="fwdatagrid" style="height:${parameters.options.height!'220'}px;"> <!-- 整个grid的外层 -->
  69. <div class="fwdatagrid-wrap" > <!-- 整个grid的覆盖区 -->
  70. <#assign buildPage=(parameters.options.hasPage||(parameters.options.expbtn?length!"")>0) >
  71. <#if (["TOP","BOTH"]?seq_contains(parameters.pageAlign!"BOTTOM"))&&buildPage >
  72. <div class="fwdatagrid-pager"></div><!-- 整个grid的分页区 -->
  73. </#if>
  74. <div class="fwdatagrid-view" > <!-- 整个grid的数据区 -->
  75. <@GLT_HEADER parameters.mergeHeader true/>
  76. <div class="fwdatagrid-resize-proxy"> </div>
  77. </div>
  78. <#if (["BOTTOM","BOTH"]?seq_contains(parameters.pageAlign!"BOTTOM"))&&buildPage >
  79. <div class="fwdatagrid-pager"></div><!-- 整个grid的分页区 -->
  80. </#if>
  81. </div>
  82. </div>
  83. <input type="hidden" name="_multiple" />
  84. </div>
  85. <#if parameters.hasTitle!true >
  86. </fieldset>
  87. </#if>
  88. <#-- 生成多记录表对应js脚本的区域-->
  89. <script language="javascript">
  90. $(function(){
  91. if($(${parameters.id}).data('_init')){return;}
  92. //标志已经初始化,无需重新初始化
  93. $(${parameters.id}).data('_init',true);
  94. <#if !(parameters.showContent!true)>
  95. _FW.oFtl.fnShowTable('img_${parameters.id}_grid','${parameters.id}');
  96. </#if>
  97. $("#${parameters.id}").fwdatagrid(${tojson(parameters.options)});
  98. });
  99. </script>