2013-05-06 4 views
2

GXT 3.x 만 해당. 값 예를 들어GXT 양식 맞춤 : FieldLabel의 gwt : 레이블 위젯

,

이름 : Carthyguessue

우리는 내가 레이아웃

라벨의 GXT 필드 쌍을 생성하고자하는 말을하자

"Carthyguessue"는 상수 필드가 아닙니다. gwt : Label을 사용하여 효과가있는 사용자 별 eable.

따라서 UI 템플릿 : 모두 완료 한 것으로

<form:FieldLabel ui:field="nameLabel" text="Name" labelWordWrap="false"> 
    <form:widget> 
    <g:Label ui:field="nameValue" /> 
    </form:widget> 
</form:FieldLabel> 

그러나,이 nameLabel 및 nameValue의 수직 오프셋 사이 ~ 3px의 적자가있을 것이라는 점을 깨닫는다.

하나의 제안 된 접근법은 오프셋을 정의하기 위해 hijack the gwt-Label css입니다. 그러나 CSS가 완전히 다른 부서에서 수행하기 때문에 그렇게 할 수 없다면 어떻게 될까요?

따라서이 기능이 작동하는 것으로 나타났습니다.

<form:FieldLabel text="Name" labelWordWrap="false"> 
    <form:widget> 
    <container:VerticalLayoutContainer> 
     <g:Label height="3px"/> 
     <g:Label ui:field="nameValue" /> 
    </container:VerticalLayoutContainer> 
    </form:widget> 
</form:FieldLabel> 

내 질문 :

나는이 방법에 직면 할 어떤 문제/문제
  • ? (나는 아직 알고 있지 않다).
  • 더 나은 비 css 솔루션이 있습니까?
  • 덜 중요한 점은 왜 gxt 사람들이 일치하는 레이블 위젯을 제공하지 않을 것인가 (비활성화 된 회색으로 표시된 텍스트 필드로 시뮬레이트 된 귀찮은 경계가 없음),이 목적을 위해 gwt : Label을 사용해야한다는 것입니다.

답변

2

1) 더 좋은 방법은 사용자 정의 CSS 클래스를 만들고 이름을 <g:Label ui:field="nameValue" />으로 지정하여 나중에 쉽게 변경할 수 있습니다.

2) 아니오 다른 좋은 해결책이 없습니다. CSS 문제이기 때문에 CSS를 통해 해결해야합니다. 이를 위해 자신의 위젯을 만들어야합니다.

GWT의 라벨 위젯은 HTML의 라벨 요소가 아닌 DIV로 렌더링되기 때문에 블록 레이아웃으로 표시됩니다.