ホームページ >ウェブフロントエンド >jsチュートリアル >jquery easyui dataGridでソートフィールド名を動的に変更する実装方法

jquery easyui dataGridでソートフィールド名を動的に変更する実装方法

小云云
小云云オリジナル
2018-01-23 17:01:182544ブラウズ

この記事では、主に並べ替えフィールド名を動的に変更する jQuery easyui dataGrid の実装方法について説明します。通常の状況では、これを使用するときは、対応するフィールドをクリックして並べ替えます。例としては JAVA です。エンドのエンティティ クラスのフィールドはデータベースのフィールドと一致しない可能性があります。例: エンティティ クラスの属性は userName、フロントエンドのフィールドは filed="userName" です。この時点で、データベースは user_name です。 userName が並べ替え列として設定されている場合、クリックすると、並べ替え時に dataGrid が field="userName" のフィールド名でフィールドを並べ替えるため、例外がスローされます。質問:username insolutionのユーザー名をマッピングする方法:バックエンドサーバーは、前景から渡され、それらを手動でマッピングしますバックエンド コードで多くのフィールド マッピングの判定が行われます

2: フロントエンドでソート フィールド列をクリックしたときに判定を行い、フロントエンド ページでそれをデータベースのフィールド名にマッピングするために 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 拡張 SQL クエリ 中国語フィールド名ソリューション

mybatis はテーブル名とフィールド名を動的に呼び出します


php はフィールド名を取得します共有例 _PHP チュートリアル

以上がjquery easyui dataGridでソートフィールド名を動的に変更する実装方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。