А у меня получается как на первом.
Я только второй день этим занимаюсь и не понимаю, как достать данные из полей ,что я создавала , как это перенести в код(((
Добрый день! Можете посмотреть статью по Visualforce page я там описывал подробно как это сделать. Посмотрите ее если что-то не понятно пишите отвечу.
Спасибо. Сейчас гляну
Добрый день! Можете показать свой код, который вы используете для вывода данных на страницу. Это apex:pageBlockTable или apex:repeat ?
<apex:page >
Appointment Table
<apex:pageBlock title="Select a doctor">
<apex:pageBlockSection title="doctor">
</apex:pageBlockSection>
</apex:pageBlock>
<apex:pageBlock title="Working Hours Start ">
</apex:pageBlock>
<apex:pageBlock title="Working Hours Ends ">
</apex:pageBlock>
<apex:pageBlock title="Select a patient">
<apex:pageBlockSection title="patient">
</apex:pageBlockSection>
</apex:pageBlock>
</apex:page>
Для автоматически “развернутых” pageBlockSection можно задать параметр:
<apex:pageBlockSection collapsible=“false” … >…</apex:pageBlockSection >
Вместо нескольких apex:pageBlock можно попробовать использовать один единственный с вложенными apex:pageBlockSection, приблизительно структура такая:
<apex:page >
<style>
body .bPageBlock .pbBody .alfa .pbSubheader{
background-color:#FF000000;
}
body .bPageBlock .pbBody .alfa .pbSubheader h3{
color:#000;
}
</style>
<apex:form >
<apex:pageBlock title="Appoitments table">
<apex:outputPanel styleClass="alfa" layout="block">
<apex:pageBlockSection id="bs_doctor" title="Select a doctor" collapsible="false" rendered="true" > ..... </apex:pageBlockSection>
</apex:outputPanel>
<apex:outputPanel styleClass="alfa" layout="block">
<apex:pageBlockSection id="bs_wh_start" title="Working Hours Start" collapsible="false" rendered="true" > ..... </apex:pageBlockSection>
</apex:outputPanel>
<apex:outputPanel styleClass="alfa" layout="block">
<apex:pageBlockSection id="bs_wh_end" title="Working Hours End" collapsible="false" rendered="true" > ..... </apex:pageBlockSection>
</apex:outputPanel>
<apex:outputPanel styleClass="alfa" layout="block">
<apex:pageBlockSection id="bs_patient" title="Select a patient" collapsible="false" rendered="true" > ..... </apex:pageBlockSection>
</apex:outputPanel>
</apex:pageBlock>
</apex:form>
Result:
ну вот я создала поле доктор, а как мне туда данные моих докторо ввсунуть, которые я ранее создавала?
Либо Вы бросили неполный код, либо у Вас на странице нет элемента для отображения данных из коллекции - это apex:PageBlockTable.
В простейшем виде он должен выглядеть вот так:
<apex:pageBlockSection columns="1" >
<apex:pageBlockTable value="{!list}" var="variable" columns="1" >
<apex:column headerValue="Data source field" headerClass="headerStyle">
<apex:OutputText value="{!variable}"/>
</apex:column>
</apex:pageBlockTable>
</apex:pageBlockSection>
list - это коллекция которую надо отобразать
variable - это элемент коллекции
columns=“1” - этот аттрибут определяет сколько столбцов будет у таблицы для отображения
спасибо, я видно не до конца разобралась, то, что я скинула - это целый код, который у меня получился, но сейчас я не понимаю как добавить информацию о докторах , которую я уже ранее создовала, откуда ее взять
скиньте полный код контроллера
может я совсем что-то не то делаю??)) я совсем новичок, многих вещей не понимаю
Что-бы что-то выводилось на страницу Visualforce page вам нужно создать Apex контроллер и связать с этой страницей посмотрите там в статьи которую я скидывал все детально описано.
Вам в вашем коде в этом месте <apex:page > нужно добавить следующее:
<apex:page id=“TestId(Сами можете придумать)” controller=“Имя апекс контроллера допустим TestCont”>
Следующий шаг нужно создать Apex class который будет контроллером с этим именем TestCont, этот контроллер и будет отправлять инфу на страницу
Вот так, насколько я поняла? а Дальше в контроллере писать код, который достанет даные из объектов, которые я ранее создовала?
Это имя коллекции в которой вы храните ваши данные. Она естественно должна содержать данные иначе ничего не отобразится.
Думаю вам стоит с начала четко разделить понятия страницы и контроллера. И кто за что отвечает, в вашем случае, вы забыли что без back-end части , никаких данных вы не получите.
- Создайте контроллер, в нём SOQL который вернёт коллекцию записей, и уже их вы сможете отобразить на VF странице с помощью {!моя коллекция из контроллера}
спасибо, а у вас может есть пример как создать SOQL, который возвращает коллекцию? я просто не очень понимаю о чем речь