本文主要和大家分享jquery easyui dataGrid動態改變排序字段名實現方法,jQuery easyui dataGrid 動態改變排序字段名,一般情況下,在使用的時候,我們會點擊相應字段進行排序,這裡以JAVA為例,後端的實體類別欄位有可能和資料庫的欄位不一致;
如:實體類別中的屬性為userName,前台filed="userName"而資料庫的欄位為user_name,這個時候如果把userName設定為排序列,然後去進行點擊,就會拋出異常,因為dataGrid在排序的時候會以filed="userName"中的字段名為排序字段;
問題:
#怎麼把userName和資料庫中的user_name進行做映射
解決方案:
1:在後台伺服器端對前台傳入的排序字段進行判斷,並且手動進行映射為資料庫中的字段名;
優點:安全性、資料庫欄位不會暴露於前台HTML頁面中;
在前台點選排序欄位列的時候做判斷,透過JS腳本在前台頁面判斷進行對應為資料庫中的欄位名稱;
優點:方便,不需要修改伺服器端程式碼
:不安全,資料庫真實欄位名稱會暴露在HTML頁面中; 注意:如果對安全性要求比較高建議選擇第一種;
/** *在点击排序字段时,改变传入后台的字段 *param对应onBeforeLoad事件的参数 *map自定义的字段映射Map */ onSortColumn=function(param,map){ //取出map中字段的映射关系值 var fieldSort=map[param.sort]; if(fieldSort!='' && fieldSort!=undefined){ //设置新的排序字段名,设置完之后,发送请求时一并会发送到服务端 param.sort=fieldSort; } }使用方法:
//创建Map var map = new Map(); //为map添加值;key:对应filed="userName"中的字段名;value:对应数据库的字段 map['userName']='user_name'; $('#datagrid').datagrid({ onBeforeLoad:function(param){ onSortColumn(param,map); } });相關推薦:
##php mysql擴充SQLSQL查詢中文欄位名稱解決方法
以上是jquery easyui dataGrid動態改變排序欄位名稱實作方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!