2012-08-06 5 views
2

APEX에서 두 테이블의 JOIN을 보여주는 보고서가 있습니다. 두 테이블 모두 전화 번호와 같은 값을 갖습니다. 두 전화 번호가 일치하지 않으면 그 행을 높이 평가하기를 원합니다.열 비교에 따른 APEX hightlight 행

작업> 서식> 강조 표시의 강조 옵션을 살펴 보았지만 열 값을 특정 값과 비교할 수만있는 것 같습니다.

저는 APEX에 매우 익숙해서 분명히 뭔가 빠져 있습니다! 나는 다른 질문과 대답을 읽었지만 더 복잡한 것들을 다루는 것처럼 보인다. 그들은 보이지 않는 칼럼을 만들고 그것에 대한 가치를 바꾸는 것에 관해 이야기했지만 어떻게 할 것인지는 잘 모르겠습니다.

도움 주셔서 감사합니다.

+0

두 번째 단락 나는 방법을 모른다 2 행을 비교하여 1 행만 설정 값으로 비교하십시오 – Chro

답변

2

조회에 의사 열을 작성하여 관심있는 레코드를 플래그하십시오. 그런 다음 플래그와 비교하십시오.

SELECT a.phone, b.phone 
     ,CASE WHEN a.phone = b.phone THEN 1 ELSE 0 END AS match 
    FROM a, b 
    WHERE a.id = b.id 
3

하이라이트 표시에서 행당 다른 열을 비교할 수 없습니다. 그래서 포맷 된 열에 대한 쿼리를 통해 html을 출력하거나 javascript/dynamic 액션을 사용하십시오.

는 SQL :

SELECT CASE WHEN a.phone = b.phone THEN htf.escape_sc(a.phone) 
      ELSE '<div class="highlight">'||htf.escape_sc(a.phone)||'</div>' 
     END AS phone_highlight 
FROM a, b 
WHERE a.id = b.id 

플러스, '표준 보고서 열'로 표시 할 열을 설정, 그래서 그것을 탈출 HTML을 렌더링하지 것이다 (당신이 출력 HTML 때 특수 문자를 이스케이프!) . "페이지로드에 불을"확인, 자바 스크립트를 실행
동적 액션, 새로 고침 후 :

개인적으로, 나는 자바 스크립트 가고 싶어

$("td[headers='TELEPHONE1']").each(function(){ 
    var lTest = $(this).siblings("[headers='TELEPHONE2']").text(); 
    if($(this).text()!= lTest){ 
     $(this).addClass("highlight"); 
    }; 
}); 

이 telephone1의 셀에 하이라이트 클래스를 추가합니다 같은 행에있는 telephone2와는 다릅니다.

두 경우 모두 내가 수업에서 일 했으므로이를 제공해야합니다. (물론, 당신은 JS에서) (.CSS 사용할 수 있습니다,하지만 난 기능에서 구분되는 스타일 좋아) 머리에 예 스타일 태그 :

<style type="text/css"> 
.highlight{ 
    background-color: yellow; 
    color: purple; 
} 
</style> 

이 스타일링하지 않고 오염되지 않은 SQL, 자바 스크립트 허용을하고, CSS의 스타일.

+0

훌륭한 게시물을 보내 주셔서 감사합니다. 장래에 나에게 유용 할 것입니다. 그러나 글렌의 대답은 내 상황에 가장 간단합니다. . – Chro

0

나는이 솔루션을 검색에서 우연히 만났고, 우선이 ansewr에 넣은 시간에 감사드립니다. 나는 당신에게 줄곧 당신에게 다음과 같이 말했습니다 :

"나는 수업과 함께 일 했으므로, 당신도 그것을 제공해야 할 것입니다. (물론, 당신은 js에서 .css()를 사용할 수 있습니다. 그러나 나는 좋아합니다. 스타일은 머리) 기능에서 예 스타일 태그를 구분합니다 :

<style type="text/css"> 
.highlight{ 
background-color: yellow; 
color: purple; 
} 
</style>" 

당신이 에이펙스이 "를 제공 할 것"이라고 감사를 다시, 나는 여관을 언급 한 바와 같이