업무 해결

권무준·2024년 7월 11일

EXBuilder

목록 보기
5/9
  1. 화면이 작아질 경우 짤리는 부분
    -> 특정영역 잡고 레이아웃 반응형으로 변경 또는 앵커 타입 활성화

  2. 등급별 order by 적용
    해결 방법: 필터 클릭 시 서브미션을 새로 태워서 쿼리 재 실행

  3. 쿼리
    필터 사용 시 해당 쿼리가 실행되도록 한다.

order by 등급별 설정
예시
SELECT degree, Col2, Col3
FROM newtable
ORDER BY CASE
WHEN degree = 'Critical' THEN 1
WHEN degree = 'Major' THEN 2
WHEN degree = 'Warning' THEN 3
WHEN degree = 'Normal' THEN 4
ELSE 5
END;

  1. 필터 구현
    방법: 체크박스 헤더에 적용 후 chkbox 값에 따라
    서브미션 수행

헤더에 체크 박스 적용

/*

  • 체크 박스에서 click 이벤트 발생 시 호출.
  • 사용자가 컨트롤을 클릭할 때 발생하는 이벤트.
    /
    function onCbx1Click(/
    cpr.events.CMouseEvent / e){
    /**
    @type cpr.controls.CheckBox
    */
    var cbx1 = e.control;
    if(cbx1.checked == false){
    console.log("chkbox chk");
    }
    }

클릭 이벤트 적용
체크 박스 값이 false 일 때 와 true일 때로 핸들링
*fasle값이 화면 상 체크박스 체크 표시
아마 체크된 값보다 상태 값을 받는게 더 빨라서 그런 듯 추측

그리드 컬럼 값 짤리는 현상
autufit을 all로 주더라도
최대 그리드 박스 내에서 컬럼이 늘어난다.
그리드 박스 범위를 초과하면 값이 짤린다.
해당 부분 해결을 위해서는 그리드 박스 사이즈를 늘려야 하는데
그리드 박스 사이즈를 늘릴 수 없을 경우 해결 불가.

익스프레션 배경 컬러 변경
짝수 배경 검은색, 홀수 배경 노랑색
getIndex()%2==0 ? "black" : "yellow"

  1. 날짜 계산
    function onButtonClick5( / cpr.events.CMouseEvent / e) {
    /**
    @type cpr.controls.Button
    /
    var button = e.control;
    var start = "2024-08-01";
    var end = "2024-08-31";
    var date1 = new Date(start);
    var date2 = new Date(end);
    var timeDifference = date2.getTime() - date1.getTime();
    console.log(timeDifference);

    // 밀리초를 일(day) 단위로 변환
    var dayDifference = timeDifference / (1000 * 3600 * 24);
    
    console.log("날짜 차이 (일수): " + dayDifference); // 31일 - 1일 = 30일 출력
    if(dayDifference > 25){
    	console.log("25일보다 크다");
    	if(confirm("30일이상 조회 시 시간이 오래 걸립니다 계속 조회 하시겠습니까?")) {
    		console.log("confirm");
    	}else {
    		console.log("not confirm");
    		return;
    	}
    }else {
    	console.log("25일 미만");
    }
    console.log("마지막 문장");

    }

profile
신입 개발자 취업하기

0개의 댓글