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

16 篇文章 0 订阅
9 篇文章 0 订阅

今天做项目的时候,发现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、付费专栏及课程。

余额充值