[jeeplus] 使用笔记 (gridSelect、datetimepicker etc.)

本贴最后更新于 1790 天前,其中的信息可能已经时过境迁

1.创建表单时,grid 选择框中给对应的字段做设置

image.png

image.png

2.生成代码后的 jsp 页面中查看检查。

image.png

image.png

3.最终展示:

image.png

image.png

1 操作
PeterChu 在 2019-05-24 14:59:26 更新了该帖

相关帖子

优质回帖
  • 88250 1

    现在回帖还没有纳入搜索系统,过段时间会把回帖也纳入进去,这样就好找了 🙏

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...
  • PeterChu
    作者

    QQ 图片 20190514154645.png

    主附表的页面中的如果某个字段用了字典,那么页面上该怎么显示该字段呢。
    自动生成的页面的 Js 代码这块直接是 {{dict.name}},dict 没见到哪里定义、或者调用了字典,数据库中当然存的是字典的 value,而不是 name ;
    我之前的解决办法都是,存储的时候,直接存字典的 name 到数据库表中,这里显示的时候,就用 {row.name},怎么用其他方法呢


    2019-6-13 15:50:51
    找到解决办法:

    原因:js 中未对使用了字典的字段做处理。在 2.41 新版本中发现此处 js 中有处理方法。

    function detailFormatter(index, row) {
    	  var htmltpl =  $("#volunteerChildrenTpl").html().replace(/(\/\/\<!\-\-)|(\/\/\-\->)/g,"");
    	  var html = Mustache.render(htmltpl, {
    			idx:row.id
    		});
    	  $.get("${ctx}/volunteer/volunteerconfig/volunteer/detail?id="+row.id, function(volunteer){
        	  var volunteerChild1RowIdx = 0, volunteerChild1Tpl = $("#volunteerChild1Tpl").html().replace(/(\/\/\<!\-\-)|(\/\/\-\->)/g,"");
    		var data1 =  volunteer.volunteerConfigList;
    		for (var i=0; i<data1.length; i++){
    
                data1[i].dict = {};
                data1[i].dict.name = jp.getDictLabel(${fns:toJson(fns:getDictList('school_batches'))}, data1[i].name, "-");
    
    			addRow('#volunteerChild-'+row.id+'-1-List', volunteerChild1RowIdx, volunteerChild1Tpl, data1[i]);
    			volunteerChild1RowIdx = volunteerChild1RowIdx + 1;
    		}
    	
          })
            return html;
        }
    

    这样之后,下面

    <script type="text/template" id="volunteerChild1Tpl">
    				<tr>
    
    					<td>
                                                     {{row.dict.name}}
    					</td>
    					<td>
    						{{row.vindex}}
    					</td>
    					<td>
    						{{row.isArt}}
    					</td>
    					<td>
    						{{row.isAdvance}}
    					</td>
    					<td>
    						{{row.reportedStart}}
    					</td>
    					<td>
    						{{row.reportedEnd}}
    					</td>
    					<td>
    						{{row.raiseStart}}
    					</td>
    					<td>
    						{{row.raiseEnd}}
    					</td>
    					<td>
    						{{row.enrollStart}}
    					</td>
    					<td>
    						{{row.enrollEnd}}
    					</td>
    				</tr>
    	</script>
    

    中就可以直接使用 {{row.dict.name}},这样,页面中主附表的附表内该字段就会正常显示了。

    1 操作
    PeterChu 在 2019-06-13 15:55:15 更新了该回帖
  • 其他回帖
  • PeterChu
    作者

    怎么让主附表中的附表也打开横向滚动条?
    QQ 图片 20190529175245.png
    用 CSS 样式控制显示出来吗?尝试一下

    
        <style>
            .tab-content{
                overflow-x: scroll;
                width: 3000px;
            }
        </style>
    

    添加该样式后显示不正确。
    暂且在 list.jsp 中添加:

        <style>
            .tabs-container .tab-content > .active,
            .tabs-container .pill-content > .active {
                display: block;
                overflow-x: auto;
                width: 3000px;
            }
        </style>
    
  • PeterChu
    作者

    Recognize when is the app first launched WP8 | 易学教程

    下面是以配置清单列表中的增、改表单中的后期加上去的 gridSelect 选择框为例,简单说一下加的流程。

    1530189580262311.png

    //示例代码片段  
    <sys:gridselect id="proManage"  //对象名(可以随便取) 
    	url="${ctx}/pro/proManage/data"  //gridselect选择框请求数据的url 
    	name="proManage.id"  //gridselect弹出框选择数据后将 对象名.属性(java属性)的值,替换掉from表单中隐藏input框中的要提交的关联属性(我这里是项目id)  
    	value="${proManage.id}"  //回显隐藏from表单input中的要提交的关联属性值 
    	labelName="proManage.name"  //选择gridselect框中的数据后,会将该 对象名.属性(Java属性) 的值在form表单中的显示的input框中回显 
    	labelValue="${proManage.name}"  //打开窗口后回显该 对象名.属性名到form表单中 
    	title="选择项目"  //弹出框的title 
    	cssClass="form-control required"  //样式 
    	fieldLabels="项目编号|项目名称"  //gridselect框中表格的列名称 fieldKeys="proCd|name"  //gridselect框中表格对应的列要显示的那个字段的值(java属性) 
    	searchLabels="项目编号|项目名称"  //gridselect框中查询框前的文本值 
    	searchKeys="proCd|name"  >  //gridselect框中根据该字段查询数据(查询规则在 代码生成器的表单规则内设置的是保持一致的)  
    </sys:gridselect>
    

    具体属性解释
    1530189580560208.png

    下面试大致过一下框架对这个标签的执行流程,具体的需要自己去看和理解,我粗略的注释一下

    <sys:gridselect 这里使用的jsp的自定义标签,这个标签在jeeplus的如下目录中。
    

    sys 自定义标签的位置如下
    1530189580660154.png

    这里要看的是 gridselect.tag 标签的执行流程。

    1.解析 tag 自定义标签
    1530189581933856.png

    2.跳转自定义标签后台,它跳到了 modules/common/gridselect 页面

    1530189581857992.png

    3.gridselect.jsp 页面

    1530189581131720.png

    4.它自定义标签的执行过程看懂了就很容易理解各个属性的含义是做什么,有什么不懂可以再相互讨论

  • PeterChu
    作者

    慎用 select *

    当自己手写一些 sql 时,如果查找的对象/表中有封装了其他对象,那么,当 sql 中有 select * 时会导致封装对象为 Null 的现象。
    因此,如果有会使用到封装的对象,那么 xml 中的 sql 还是加上映射关系吧。
    eg:

        <!-- 根据年份、省份、高校、文理科、批次查找记录 findListByYPNWB -->
        <select id="findListByYPNWB" resultType="Eucode" >
            SELECT
            <include refid="EucodeColumns"/>
            FROM e_uecode a
            <include refid="EucodeJoins"/>
            WHERE a.year = #{year} AND a.province = #{province.id} AND a.universityid = #{university.id} AND a.wltype = #{wltype} AND a.schoolbatches = #{schoolBatches} AND (a.r3 != "2" OR  ISNULL(a.r3)) AND (a.r3 != "3"  OR  ISNULL(a.r3))
        </select>
    
  • 查看全部回帖