2010-03-24 2 views
0

이것은 간단 할 수도 있지만 Oracle을 처음 사용했습니다. 필자는 Oracle 10g를 사용하고 있으며 테이블 형식의 레이아웃에서 연결된 테이블의 정보를 나열하는 양식을 가지고 있습니다. 데이터의 마지막 열은 요소 목록이 사용 (T) 및 사용 안 함 (F) 인 "목록 항목"항목 유형입니다. 사용자가 사용 안 함으로,이 드롭 다운을 변경하면오라클 테이블 형식 레이아웃에서 행을 제어하는 ​​방법

은 내가 필요한 것은 내가 해당 행이 열 중 일부는 전체 열을 해제하지 될 갖고 싶어한다.

또한 폼의 부하를 가정하고, 이는 중지하고 값이 데이터베이스에 EnabledDisabled 컬럼으로부터 인출되고 있는지에 따라 데이터의 행을 활성화한다.

도움 주셔서 감사합니다.

답변

0

옵션 1 : ENABLED 항목 속성을 사용합니다.

불행히도 Oracle Forms은 항목 인스턴스 레벨에서 항목의 ENABLED 특성을 변경할 수 없습니다.

그러나 사용자가 레코드를 입력 할 때 전체 항목을 활성화 또는 비활성화하는 경우 - WHEN-NEW-RECORD-INSTANCE 트리거를 사용하십시오. 현재 레코드의 값에 따라 목록 항목의 값이 달라 지므로 ENABLED 속성은 PROPERTY_TRUE 또는 PROPERTY_FALSE입니다.

물론 목록 항목의 WHEN-LIST-CHANGED 트리거에도 같은 코드가 있습니다.

이 방법의 단점은 전체 열이 사용자에게 사용할 수 없습니다 "모양"이되고 그들은 그 사용할 수없는 항목을 사용하여 다른 레코드를 선택 할 수 없을 것입니다.

옵션 2 : INSERT_ALLOWEDUPDATE_ALLOWED 속성을 사용하십시오.

당신은 SET_ITEM_INSTANCE_PROPERTY를 사용하여 항목 인스턴스 수준에서 이러한 속성을 설정할 수 있습니다. 블록 POST-QUERY 트리거 및 목록 항목 WHEN-LIST-CHANGED 트리거에서 설정합니다.

하지만 화면에서 항목이 어떻게 표시되는지는 변경되지 않습니다. 이 문제를 해결하려면 항목 인스턴스 수준에서 시각적 속성을 설정할 수도 있습니다 (예 : 진한 회색 배경 또는 기타 항목을 사용하도록 항목을 변경).

More comments.

+0

글쎄, 그 냄새. 좋아, 그럼 내가 사용자의 양식에 기능에 대한 설명을 명확하게 만들 것입니다. 제프가 제 바퀴를 돌리지 말아 줘서 고마워요. – DotNetDan

+0

아쉽게도 불행히도 :) -하지만 여러 번 좋은 효과를 내기 위해 옵션 2를 사용했습니다. –

관련 문제