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

Таблица с выводом объекта.

Добрый день, есть такой вопрос. Я создал два объекта, связал их один ко многим.
Как мне их вывести в VisualForce.
Использовал пример из документации:

<apex:page standardController="Account">
<apex:pageBlock title="Hello {!$User.FirstName}!">
You are viewing the {!account.name} account.
</apex:pageBlock>
<apex:pageBlock title="Contacts">
<apex:pageBlockTable value="{!account.Contacts}" var="contact">
<apex:column value="{!contact.Name}"/>
<apex:column value="{!contact.MailingCity}"/>
<apex:column value="{!contact.Phone}"/>
</apex:pageBlockTable>
</apex:pageBlock>
</apex:page>

Все отлично работает.Но я так полагаю потому что тут стандартный контроллер.

Читал статью Дмитрия

<apex:outputField value="{!book.Name}"/> Его вывод.

Сделал такой же в своем.

<apex:outputField value="{!Animal.Name}"/>

Выдает

Ошибка. Не удалось разрешить объект из связывания значения <apex:outputField> ({!Animal.Name}). <apex:outputField> может использоваться только с объектами SObject или объектами, которые разрешают компонент поля Visualforce.

Пробовал полностью API-имя Animal__c.

Может кто-нибудь пояснить как все таки вывести данные этого объекта?

Добрый день, есть такой вопрос. Я создал два объекта, связал их один ко многим.
Как мне их вывести в VisualForce.
Использовал пример из документации:

<apex:page standardController="Account">
   <apex:pageBlock title="Hello {!$User.FirstName}!">
      You are viewing the {!account.name} account.
   </apex:pageBlock>
   <apex:pageBlock title="Contacts">
      <apex:pageBlockTable value="{!account.Contacts}" var="contact">
         <apex:column value="{!contact.Name}"/>
         <apex:column value="{!contact.MailingCity}"/>
         <apex:column value="{!contact.Phone}"/>
      </apex:pageBlockTable>
   </apex:pageBlock>
</apex:page>

Все отлично работает.Но я так полагаю потому что тут стандартный контроллер.

Читал статью Дмитрия

<apex:outputField value="{!book.Name}"/> Его вывод.

Сделал такой же в своем.

<apex:outputField value="{!Animal.Name}"/>

Выдает

Ошибка. Не удалось разрешить объект из связывания значения <apex:outputField> ({!Animal.Name}). <apex:outputField> может использоваться только с объектами SObject или объектами, которые разрешают компонент поля Visualforce.

Пробовал полностью API-имя Animal__c.

Может кто-нибудь пояснить как все таки вывести данные этого объекта?

Сейчас бы вести разработку на русском языке........

Сейчас бы вести разработку на русском языке........

Что такое Animal? Как он связан с АККАУНТОМ?

Что такое Animal? Как он связан с АККАУНТОМ?

Никакого, это просто пример из документации со стандартным контроллером.

Вот мой.

<apex:page controller="Animal_ParkController">
<apex:pageBlock title="Animal Park">
<apex:sectionHeader title="Animal Park" subtitle="Page"/>

<style type="text/css">
table#Animal_ParkTable {border-collapse: collapse;}
table#Animal_ParkTable td, table#Animal_ParkTable th {padding: 10px; border: 1px solid #888888;}
</style>

<apex:form >
<h1>Enter Animal Park Name</h1>
<apex:inputText value="{!UpdateAnimal_Park}" />
<apex:commandButton value="Update" rerender="Animal_ParkTablePark" status="UpdateStatus"/>

<!-- html method -->
<apex:outputPanel layout="block" id="Animal_ParkTablePark">
<table id="Animal_ParkTable">
<tr>
<th>Animal Name</th>
<th>Animal Park</th>
</tr>
<tr>
<th><apex:outputField value="{!Animal.Name}"/></th>
<th><apex:outputField value="{!Animal.Park}"/></th>
</tr>
</table>

</apex:form>
</apex:pageBlock>
</apex:page>

Смысл в том чтобы вывести два столбика, один название животного, другой парк(он у всех животных одинаковый). Вводишь название парка и меняешь на при нажатие на кнопку.

Никакого, это просто пример из документации со стандартным контроллером.

Вот мой.

[code]<apex:page controller="Animal_ParkController">
<apex:pageBlock title="Animal Park">
 <apex:sectionHeader title="Animal Park" subtitle="Page"/>

    <style type="text/css">
        table#Animal_ParkTable {border-collapse: collapse;}
        table#Animal_ParkTable td, table#Animal_ParkTable th {padding: 10px; border: 1px solid #888888;}
    </style>

    <apex:form >
        <h1>Enter Animal Park Name</h1>
        <apex:inputText value="{!UpdateAnimal_Park}" />
        <apex:commandButton value="Update" rerender="Animal_ParkTablePark" status="UpdateStatus"/>
        

        <!-- html method  -->
        <apex:outputPanel layout="block" id="Animal_ParkTablePark">
            <table id="Animal_ParkTable">
                <tr>
                    <th>Animal Name</th>
                    <th>Animal Park</th>
                </tr>
                <tr>
                    <th><apex:outputField value="{!Animal.Name}"/></th>
                    <th><apex:outputField value="{!Animal.Park}"/></th>
                </tr>
            </table>
        

    </apex:form>
</apex:pageBlock>
</apex:page>[/code]

Смысл в том чтобы вывести два столбика, один название животного, другой парк(он у всех животных одинаковый). Вводишь название парка и меняешь на при нажатие на кнопку.


Контроллер?

Контроллер?

public class Animal_ParkController {

public Animal_ParkController() {
animal = [SELECT Name, Park FROM Animal

WHERE Name = :ApexPages.currentPage().getParameters().get('name')];

}
public String Name { get; set; }

public String UpdateAnimal_Park { get; set; }

public String Animal { get; set; }

public String Animal_Park { get; set; }


}

Вероятнее всего что-то здесь.

[code]
public class Animal_ParkController {

    public Animal_ParkController() {
	        animal = [SELECT Name, Park FROM Animal

	                   WHERE Name = :ApexPages.currentPage().getParameters().get('name')];

	    } 
    public String Name { get; set; }

    public String UpdateAnimal_Park { get; set; }

    public String Animal { get; set; }

    public String Animal_Park { get; set; }


	}
[/code]

Вероятнее всего что-то здесь.

Ну то есть тебя не смущает что ты пытаешься взять property Name у переменной с типом String?
И тебя не смущает что ты пытаешься взять присвоить переменной с типом String sObject?
И тебя не смущает что твой контроллер скорее всего не валидный и даже не сохраняется??

Ну то есть тебя не смущает что ты пытаешься взять property Name у переменной с типом String?
И тебя не смущает что ты пытаешься взять присвоить переменной с типом String sObject?
И тебя не смущает что твой контроллер скорее всего не валидный и даже не сохраняется??

Честно говоря, опять же переделал под себя пример из документации.
Но теперь кое-что дошло.
Можно если не тяжело,объяснить как это реализовать?
Хотя бы вывод в таблицу значений. По поводу обновления столбца, сам решу.
Мб это возможно с помощь стандартных контроллеров?

Честно говоря, опять же переделал под себя пример из документации.
Но теперь кое-что дошло.
Можно если не тяжело,объяснить как это реализовать?
Хотя бы вывод в таблицу значений. По поводу обновления столбца, сам решу.
Мб это возможно с помощь стандартных контроллеров?


Ну смотри
все очень просто
для начала надо прочитать и сделать https://trailhead.salesforce.com/projects/quickstart-apex
потом это https://trailhead.salesforce.com/trails/force_com_dev_beginner/modules/visualforce_fundamentals

Ну смотри
все очень просто
для начала надо прочитать и сделать https://trailhead.salesforce.com/projects/quickstart-apex
потом это https://trailhead.salesforce.com/trails/force_com_dev_beginner/modules/visualforce_fundamentals

Понял, Спасибо

Понял, Спасибо