2013-05-06 2 views
2

GXT 3.x только.Выровнять форму GXT: FieldLabel с его gwt: Виджет метки

Давайте говорить, что я хочу, чтобы создать GXT полевую пару макете

метка: значение

Например,

Имя: Carthyguessue

Где «Carthyguessue» - постоянное поле, не обновляемое который я использую с помощью gwt: Label.

Поэтому пользовательский интерфейс шаблона:

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

Однако, как и все, сделав это понимает, что будет дефицит ~ 3px между вертикальными смещениями nameLabel и имя-значение.

Один из предложенных подходов был 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 не предоставили соответствующий виджет Label (без раздражающих границ, имитируемых отключенным серым текстовым полем), тем самым нам еще нужно использовать gwt: Label для этой цели?

ответ

2

1) лучшим способом является создание пользовательского класса CSS и присвоение имени <g:Label ui:field="nameValue" />, поэтому в будущем его легко изменить.

2) Нет другого хорошего решения. потому что это проблема CSS, поэтому вам нужно решить ее с помощью CSS. Для этого вы должны создать свой собственный виджет.

Виджет-ярлык в GWT просто отображается как DIV не как элемент метки HTML, вызывающий его отображение с макетом блока.

Смежные вопросы