Coin163

首页 > 使用easyui时遇到的问题(v1.4.3)

使用easyui时遇到的问题(v1.4.3)

相关标签: easyui datebox datagrid

2020腾讯云双十一活动,全年最低!!!(领取3500元代金券),
地址https://cloud.tencent.com/act/cps/redirect?redirect=1074

【阿里云】双十一活动,全年抄底价,限时3天!(老用户也有),
入口地址https://www.aliyun.com/1111/home

1.datagrid排序

如何设置datagrid参数支持列排序,请查看 相关文章,这里不做过多介绍。 我使用的方式是在需要排序的字段上加上sortable=“true”
<th field="ftotal" width="50" sortable="true">总计</th>
这样当点击列头进行排序时,后台就会传递参数: 然后后台接收参数,拼接到sql语句中执行就可以了。 我遇到的问题时,数据库持久层使用的是mybatis,数据库字段使用了下划线命名方式,例如user_name,create_date等,为了在代码里面便于阅读,使用了骆驼峰的命名方式,当然这个操作是mybatis_genetator完成的。那么datagrid显示的时候,就是这样的
<th field="userName" width="50" sortable="true">用户名</th>
<th field="createDate" width="50" sortable="true">创建时间</th>
点击列名排序时,传递的参数就变成了,userName、createDate,显然与数据库里面的字段不一致。

思路一:

使用Java代码将骆驼峰的字段变为下划线命名方式,如果字段映射规则很标准,很准确。例如:userName=>user_name,但是mybatis生成实体是允许使用columnOverride将数据库字段映射成各种名字,所以这种方法不可行。

思路二:

mybatis逆向工程生成的Mapper.xml文件里面有resultMap来处理字段映射的问题,那么我们只需要读取这个xml文件,根据property找到column。读取xml是一件很辛苦的事情,所以我也不想这么做。

思路三:

既然映射完以后,操作变得这么麻烦,干脆不映射。最终我采用的也是这种方式。只需要在mybatis_generator配置文件里面配置就行了。 这样配置完以后,生成的实体就会使用真实的字段名。当然现在仍然可以使用columnOverride进行字段映射。
<table tableName="" domainObjectName="">
	<property name="useActualColumnNames" value="true"/>
</table>

2.填充表单时datebox不显示数据的问题

3.datagrid设置了fitColumns="true"仍然显示横向滚动条

查看是否使用了重复的列字段

4.tree仅叶子节点可以点击

需要同时设置checkbox:true,onlyLeafCheck: true。仅设置onlyLeafCheck: true,无效!


原文

1.datagrid排序 如何设置datagrid参数支持列排序,请查看 相关文章,这里不做过多介绍。 我使用的方式是在需要排序的字段上加上sortable=“true” <th field="ftotal" width="50" sortable="tru

------分隔线----------------------------