jquery easyui dataGrid動態(tài)改變排序字段名的方法
jQuery easyui dataGrid 動態(tài)改變排序字段名,一般情況下,在使用的時候,我們會點擊相應字段進行排序,這里以JAVA為例,后端的實體類字段有可能和數(shù)據(jù)庫的字段不一致;
如:實體類中的屬性為userName,前臺filed="userName"
而數(shù)據(jù)庫的字段為user_name,這個時候如果把userName設置為排序列,然后去進行點擊,就會拋出異常,因為dataGrid在排序的時候會以filed="userName"中的字段名為排序字段;
問題:
怎么把userName和數(shù)據(jù)庫中的user_name進行做映射
解決方案:
1:在后臺服務器端對前臺傳入的排序字段進行判斷,并且手工進行映射為數(shù)據(jù)庫中的字段名;
優(yōu)點:安全、數(shù)據(jù)庫字段不會暴露在前臺HTML頁面中;
缺點:后臺代碼中會出現(xiàn)很多的字段映射判斷;
2:在前臺點擊排序字段列的時候做判斷,通過JS腳本在前臺頁面判斷進行映射為數(shù)據(jù)庫中的字段名;
優(yōu)點:方便,不需要修改服務器端代碼
缺點:不安全,數(shù)據(jù)庫真實字段名會暴露在HTML頁面中;
注意:如果對安全性要求比較高建議選擇第一種;
這里采用第二種方式,實現(xiàn)如下:
/** *在點擊排序字段時,改變傳入后臺的字段 *param對應onBeforeLoad事件的參數(shù) *map自定義的字段映射Map */ onSortColumn=function(param,map){ //取出map中字段的映射關系值 var fieldSort=map[param.sort]; if(fieldSort!='' && fieldSort!=undefined){ //設置新的排序字段名,設置完之后,發(fā)送請求時一并會發(fā)送到服務端 param.sort=fieldSort; } }
使用方法:
//創(chuàng)建Map var map = new Map(); //為map添加值;key:對應filed="userName"中的字段名;value:對應數(shù)據(jù)庫的字段 map['userName']='user_name'; $('#datagrid').datagrid({ onBeforeLoad:function(param){ onSortColumn(param,map); } });
以上所述是小編給大家介紹的jquery easyui dataGrid動態(tài)改變排序字段名的方法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
相關文章
jQuery實現(xiàn)表格行數(shù)據(jù)滾動效果
這篇文章主要為大家詳細介紹了jQuery實現(xiàn)表格行數(shù)據(jù)滾動,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2021-08-08jQuery插件HighCharts實現(xiàn)氣泡圖效果示例【附demo源碼】
這篇文章主要介紹了jQuery插件HighCharts實現(xiàn)氣泡圖效果,結合完整實例形式分析了jQuery插件HighCharts繪制氣泡圖的實現(xiàn)技巧,并附帶demo源碼供讀者下載參考,需要的朋友可以參考下2017-03-03jQuery Ajax async=>false異步改為同步時,解決導致瀏覽器假死的問題
今天小編就為大家分享一篇jQuery Ajax async=>false異步改為同步時,解決導致瀏覽器假死的問題,具有很好的參考價值,希望對大家有所幫助,一起跟隨小編過來看看吧2019-07-07