この記事では、主に並べ替えフィールド名を動的に変更する 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 はテーブル名とフィールド名を動的に呼び出します
以上がjquery easyui dataGridでソートフィールド名を動的に変更する実装方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。