easyUIフレームワークを使用してリスト全体のソートを実現

1986 ワード

easyUIフレームワークを使用してデータを検索する場合、データリスト形式を表示する場合、ビジネスニーズに応じて、リストデータの全体的なソート機能を実現する必要がある場合があります.すなわち、複数ページのデータがある場合、データ列をクリックして、すべてのデータのソートを実現するには、次の方法を見てみましょう.
1、まずloadTable()メソッドの構成を処理する
		$('#table1').datagrid({
			fit : true,
			fitColumns : true,
			nowrap : false,
			striped : true,
			view: myview,								
		    emptyMsg: '            !',
			border : false,
			url : '<%=path%>/yuQing/queryYuQingInfo',
			queryParams:{from:from,to:to},//,entLLNum:entLLNum,entGZNum:entGZNum
			pageSize : 30,
			rownumbers : true,
			idField : 'id',
			remoteSort : true,
			pagination:true,
			frozenColumns :
			[[{field : 'ck',checkbox : true} ] ],

ここで注意すべき点は、remoteSort:true、この量をtrueに設定する必要があります.そして、データ列のソートを構成します.
					{
						field : 'entname',
						title : '    ↓',
						width : 20,
						align : 'center',
						remoteSort : true,
						sortable:true,
						sortOrder:'desc',
					}, 
のソートに必要な構成パラメータにはremoteSort、sortable、sortOrderがあります.以上の操作が完了したら、バックグラウンドのクエリー方法を処理する必要があります.
2、バックグラウンドのクエリー、ソートを実現する
			    if (StringUtils.isNotEmpty(page.getOrder())&&StringUtils.isNotEmpty(page.getSort())) {
			    	if("createTime".equals(page.getSort())){
			    		hql += " order by createtime "+page.getOrder();
			    	}else if("fabuTime".equals(page.getSort())){
			    		hql += " order by fabutime "+page.getOrder();
			    	}else {
			    	    hql += " order by "+ page.getSort()+" "+page.getOrder();
			    	}
				}else{
					hql+="  order by fabutime,id desc ";
				}

このセグメントコードはバックグラウンド実装のソートであり、pageパラメータからフロントエンドに渡されるソートが必要なフィールドとソートの順序を取得し、hqlまたはsqlを用いてソートを実現する.order byの後ろのフィールドはデータベーステーブルまたはエンティティクラスのフィールド名である.そうしないとソートがエラーになり、判定条件のフィールドは定義jsのフィールドである.判定の手間を省くために、ページ上のフィールド値をデータベースまたはエンティティクラスのフィールド名と一致させることができます.