jquery easyui dataGrid动态改变排序字段名
生活随笔
收集整理的這篇文章主要介紹了
jquery easyui dataGrid动态改变排序字段名
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
2019獨角獸企業重金招聘Python工程師標準>>>
jquery easyui dataGrid 動態改變排序字段名,一般情況下,在使用的時候,我們會點擊相應字段進行排序,
這里以JAVA為例,后端的實體類字段有可能和數據庫的字段不一致;如:實體類中的屬性為userName,前臺filed="userName"而數據庫的字段為user_name,這個時候如果把userName設置為排序列,然后去進行點擊,就會拋出異常,因為dataGrid在排序的時候會以filed="userName"中的字段名為排序字段;
解決方案:1:在后臺服務器端對前臺傳入的排序字段進行判斷,并且手工進行映射為數據庫中的字段名;
?? ??? ??? ? 優點:安全、數據庫字段不會暴露在前臺HTML頁面中;
?? ??? ??? ? 缺點:后臺代碼中會出現很多的字段映射判斷;
?? ??? ?? 2:在前臺點擊排序字段列的時候做判斷,通過JS腳本在前臺頁面判斷進行映射為數據庫中的字段名;
?? ??? ??? ? 優點:方便,不需要修改服務器端代碼
?? ??? ??? ? 缺點:不安全,數據庫真實字段名會暴露在HTML頁面中;
?? ??? ??? ?
? 注意:如果對安全性要求比較高建議選擇第一種;
這里采用第二種方式,實現如下:
/***在點擊排序字段時,改變傳入后臺的字段*param對應onBeforeLoad事件的參數*map自定義的字段映射Map*/onSortColumn=function(param,map){//取出map中字段的映射關系值var fieldSort=map[param.sort];if(fieldSort!='' && fieldSort!=undefined){//設置新的排序字段名,設置完之后,發送請求時一并會發送到服務端param.sort=fieldSort;}} 使用方法:
//創建Mapvar map = new Map();//為map添加值;key:對應filed="userName"中的字段名;value:對應數據庫的字段map['userName']='user_name';$('#datagrid').datagrid({onBeforeLoad:function(param){onSortColumn(param,map);}});
轉載于:https://my.oschina.net/ht896632/blog/628412
總結
以上是生活随笔為你收集整理的jquery easyui dataGrid动态改变排序字段名的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: apple air装双系统(win7)
- 下一篇: 【C++】实现动态顺序表的PushBac