Как сделать элементы (столбцы) в гиперссылке ‹apex: pageBlockTable›?

Я успешно создал таблицы со стилем, который предоставил Salesforce. (например, тот, который выделен при наведении курсора мыши и т. д.)

Но я хочу, чтобы значение столбца было ссылкой для отображения подробной информации об объекте. Когда я не создаю свою собственную страницу visualforce, таблица выглядит красиво, а значения столбцов (записи) связаны гиперссылками, но я не могу понять, как это сделать, из кода вершины visualforce.

pageBlockTable и определение столбца, похоже, не имеют атрибутов или чего-либо, что делает его гиперссылкой.

http://www.salesforce.com/us/developer/docs/pages/Content/pages_compref_pageBlockTable.htm
http://www.salesforce.com/us/developer/docs/pages/Content/pages_compref_column.htm

<apex:pageBlock title="test">
    <apex:pageBlockTable value="{!workObj}" var="item">
        <!-- below needs to be hyperlink -->
        <apex:column value="{!item.name}" /> 
    </apex:pageBlockTable>
</apex:pageBlock>

Я мог бы достичь своей цели, отбросив хороший дизайн, как показано ниже, но я хотел бы сохранить приведенный выше код.

Это работает, но стиль Salesforce не применяется.

 <apex:pageBlock title="my test title" >    
            <apex:dataTable value="{!workObj}" var="wn" cellpadding="2" cellspacing="2">
                <apex:column>
                    <apex:facet name="header">仕事名一覧</apex:facet>
                    <apex:form >
                        <apex:commandLink value="{!wn.name}" />
                    </apex:form>
                </apex:column>
            </apex:dataTable>
    </apex:pageBlock>

person Meow    schedule 05.11.2010    source источник
comment
Почему apex: commandLink и форма (!) В столбце? Что не так с простым ‹apex: outputLink value = .. / {! Wn.Id}› {! Wn.Name} ‹/ apex: outputLink›   -  person eyescream    schedule 05.11.2010


Ответы (1)


Вместо <apex:column value="{!item.name}" /> попробуйте сделать это так в теле столбца:

<apex:pageBlock title="test">
        <apex:pageBlockTable value="{!workObj}" var="item">
         <apex:column>
              <apex:outputLink value="{!item.name}">{!item.name}</apex:outputLink>
         </apex:column>
    <apex:pageBlock title="test">
<apex:pageBlockTable value="{!workObj}" var="item">
person ryanbrainard    schedule 10.11.2010