【工作笔记0008】easyui中datagrid绑定到table的翻页注意事项

本文解决在使用EasyUI datagrid组件时,遇到的翻页功能失效问题,原因在于SQL语句中查询多张表数据时未正确使用表名或字段名别名。通过在SQL查询中为需要的字段指定别名,并在前端JavaScript中同样使用别名进行字段绑定,即可修复此问题。具体步骤包括识别冲突字段、调整SQL语句和修改数据表格配置。

今天做项目的时候,发现easyui中datagrid绑定到table的翻页功能不能用了,提示信息是

无法绑定由多个部分组成的标识符 "(数据库表名或表的别名).字段"

结果查询bug发现是在用sql语句查询多张表数据时(如使用inner join),当多张表中有相同的字段时就需要在sql语句中采用的  表的别名  或  字段的别名,如果不采用别名就会注明某张表的某个字段,例如:

a表中有id字段,b表中也有id字段,但我只想要提取a表中的id字段,所以就会这样写:

select  a.id,a.~~,b.~~   from a inner join b where a.id = b.~~

此时前端页面用js写datagrid绑定到datatable时一般会直接写明 字段,而不会带上表名,如:

fcolumns[fcolumns.length] = { field: 'id', title:"XXX", checkbox: true };

那么这个时候你使用easyui的自带的翻页功能时,就会出现前面提到的错误异常信息了。

好了,关键点来了,上述问题的解决方法很简单,就是在 sql语句中将需要select的字段中给出现(数据库表名或表的别名).字段的字段取一个别名就行了,然后datatable绑定的时候field填写修改的别名就可以了。例如上面的sql语句可以修改为:

select  a.id as xxxid,a.~~,b.~~   from a inner join b where a.id = b.~~

js绑定可以修改为:

fcolumns[fcolumns.length] = { field: 'xxxid', title:"XXX", checkbox: true };

这个时候在重新编译一下工程项目,发现翻页可以使用了,那就恭喜你成功了!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值