jquery easyui dataGrid 정렬 필드 이름 을 동적 으로 바 꾸 는 방법

1930 단어 jqueryeasyuidatagrid
jQuery easyui dataGrid 는 정렬 필드 이름 을 동적 으로 바 꿉 니 다.일반적인 상황 에서 사용 할 때 저 희 는 해당 필드 를 클릭 하여 정렬 합 니 다.여 기 는 JAVA 를 예 로 들 면 백 엔 드 의 실체 필드 는 데이터 베이스 필드 와 일치 하지 않 을 수 있 습 니 다.
예 를 들 어 실체 클래스 의 속성 은 userName 이 고 프론트 데스크 톱filed="userName"이 며 데이터 베 이 스 는 user 입 니 다.name,이때 userName 을 배열 로 설정 하고 클릭 하면 이상 이 발생 합 니 다.dataGrid 는 정렬 할 때 filed="userName"의 필드 이름 을 정렬 필드 로 하기 때 문 입 니 다.
질문:
userName 과 데이터베이스 에 있 는 user 를 어떻게name 맵 만 들 기
해결 방안:
1:백 엔 드 서버 에서 프론트 에 들 어 오 는 정렬 필드 를 판단 하고 데이터베이스 에 있 는 필드 이름 으로 수 동 으로 매 핑 합 니 다.
             장점:안전,데이터베이스 필드 는 프론트 HTML 페이지 에 노출 되 지 않 습 니 다.
             단점:배경 코드 에 필드 맵 판단 이 많이 나타 납 니 다.
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); 
  } 
});
위 에서 말 한 것 은 소 편 이 소개 한 jquery easyui dataGrid 가 정렬 필드 이름 을 동적 으로 바 꾸 는 방법 입 니 다.여러분 에 게 도움 이 되 기 를 바 랍 니 다.궁금 한 점 이 있 으 시 면 메 시 지 를 남 겨 주세요.소 편 은 제때에 답 해 드 리 겠 습 니 다.여기 서도 저희 사이트 에 대한 여러분 의 지지 에 감 사 드 립 니 다!

좋은 웹페이지 즐겨찾기