首頁 >web前端 >js教程 >jquery easyui dataGrid動態改變排序欄位名稱實作方法

jquery easyui dataGrid動態改變排序欄位名稱實作方法

小云云
小云云原創
2018-01-23 17:01:182544瀏覽

本文主要和大家分享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查詢中文欄位名稱解決方法

mybatis動態呼叫表名與欄位名稱

#php取得欄位名稱範例分享_PHP教學

以上是jquery easyui dataGrid動態改變排序欄位名稱實作方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn