Регистрация  |  Вход

Как поместить apex:pageBlockSectionItem в apex:component

У меня есть пара apex:pageBlockSectionItem

<apex:pageBlockSectionItem helpText="{!$ObjectType.Opportunity.fields.TextField__c.InlineHelpText}"
dataStyleClass="myCSS" labelStyleClass="myCSS"
>
<apex:outputLabel value="{!$ObjectType.Opportunity.fields.TextField__c.Label}"/>
<apex:inputField value="{!opp.TextField__c}" taborderhint="2" styleClass="myCSS" />
</apex:pageBlockSectionItem>

на страничке. Они идентичны, за исключением helpText аттрибутов, inputField значений и taborderhint. Я хотел все это засунуть в apex:component, но не нахожу, как справиться с apex:inputField. Как мне засунуть поле для редактирования в value в apex:inputField? У полей будут разные типы и я не вижу как передать значение поля, если типы будут разными.

У меня есть пара apex:pageBlockSectionItem

    [code]<apex:pageBlockSectionItem helpText="{!$ObjectType.Opportunity.fields.TextField__c.InlineHelpText}"
      dataStyleClass="myCSS" labelStyleClass="myCSS"
    >
      <apex:outputLabel value="{!$ObjectType.Opportunity.fields.TextField__c.Label}"/>
      <apex:inputField value="{!opp.TextField__c}" taborderhint="2" styleClass="myCSS" />
    </apex:pageBlockSectionItem>[/code]

на страничке. Они идентичны, за исключением helpText аттрибутов, inputField значений и taborderhint. Я хотел все это засунуть в apex:component, но не нахожу, как справиться с apex:inputField. Как мне засунуть поле для редактирования в value в apex:inputField? У полей будут разные типы и я не вижу как передать значение поля, если типы будут разными.
[url=https://developer.salesforce.com/docs/atlas.en-us.pages.meta/pages/pages_compref_attribute.htm]Help[/url]

когда появляется новый вопрос, обычно сначала отписывается Wilder с вариантом решения.
потом появляется Gres и объявляет, что это решение не будет работать в данном случае.
Затем приходит Илья "и молча все поправляет".
И в конце Дмитрий рассказывает интересную историю из жизни как раз по этой теме.
так и живем...
и всем спасибо

когда появляется новый вопрос, обычно сначала отписывается Wilder с вариантом решения.
потом появляется Gres и объявляет, что это решение не будет работать в данном случае.
Затем приходит Илья "и молча все поправляет".
И в конце Дмитрий рассказывает интересную историю из жизни как раз по этой теме.
так и живем...
и всем спасибо
:)


Den, молодец, очень верно подметил.

:D :D :D :D 
Den, молодец, очень верно подметил.

Chiz
У меня есть пара apex:pageBlockSectionItem

<apex:pageBlockSectionItem helpText="{!$ObjectType.Opportunity.fields.TextField__c.InlineHelpText}"
dataStyleClass="myCSS" labelStyleClass="myCSS"
>
<apex:outputLabel value="{!$ObjectType.Opportunity.fields.TextField__c.Label}"/>
<apex:inputField value="{!opp.TextField__c}" taborderhint="2" styleClass="myCSS" />
</apex:pageBlockSectionItem>

на страничке. Они идентичны, за исключением helpText аттрибутов, inputField значений и taborderhint. Я хотел все это засунуть в apex:component, но не нахожу, как справиться с apex:inputField. Как мне засунуть поле для редактирования в value в apex:inputField? У полей будут разные типы и я не вижу как передать значение поля, если типы будут разными.

Не уверен что сработает, но навскидку попробуйте использовать Visualforce Dynamic Binding, т.е. должно получиться что-то вроде

<apex:inputField value="{!opp[fieldName]}"/>

Для этого может понадобиться ещё и сам sObject в компоненту пробрасывать.

[quote="Chiz"]У меня есть пара apex:pageBlockSectionItem

    [code]<apex:pageBlockSectionItem helpText="{!$ObjectType.Opportunity.fields.TextField__c.InlineHelpText}"
      dataStyleClass="myCSS" labelStyleClass="myCSS"
    >
      <apex:outputLabel value="{!$ObjectType.Opportunity.fields.TextField__c.Label}"/>
      <apex:inputField value="{!opp.TextField__c}" taborderhint="2" styleClass="myCSS" />
    </apex:pageBlockSectionItem>[/code]

на страничке. Они идентичны, за исключением helpText аттрибутов, inputField значений и taborderhint. Я хотел все это засунуть в apex:component, но не нахожу, как справиться с apex:inputField. Как мне засунуть поле для редактирования в value в apex:inputField? У полей будут разные типы и я не вижу как передать значение поля, если типы будут разными.[/quote]

Не уверен что сработает, но навскидку попробуйте использовать Visualforce Dynamic Binding, т.е. должно получиться что-то вроде
[code]
<apex:inputField value="{!opp[fieldName]}"/>
[/code]

Для этого может понадобиться ещё и сам sObject в компоненту пробрасывать.