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

Как использовать значение из пик листа

Добрый день. У меня selectedDoctorName пустой и я не знаю как его заполнить.

public class AppointmentsTableController {
public List<SelectOption> doctorOption{set;}
public List<Doctor__c> docList {get;set;}
public String selectedDoctorName{get;set;}

public List<SelectOption> getDoctorOption () {
List<SelectOption> options = new List<SelectOption>();
docList = [SELECT Name, Working_Hours_Start__c, Working_Hours_End__c
FROM Doctor__c];
for(Doctor__c doc : docList) {
options.add(new SelectOption(doc.Name, doc.Name));
}
selectedDoctor = findSelectedDoctor();
doctorAppointmens = getDoctorAppointments();
return options;
}
}


Скажите пожалуйста как сделать так что бы в selectDoctorName появилось имя которе выбрали в Visualforce page. И в этом ли проблема?

<apex:pageBlockSection>
<apex:pageBlockSectionItem >
<apex:outputLabel value="Select a Doctor"/>
<apex:selectList value="{!selectedDoctorName}" size="1">
<apex:selectOptions value="{!doctorOption}" />
</apex:selectList>
</apex:pageBlockSectionItem>
</apex:pageBlockSection>

Пишет что: List has no rows for assignment to SObject

P.S. Это нужно для того что бы вывести на экран информацию о выбраном докторе.

Добрый день. У меня selectedDoctorName пустой и я не знаю как его заполнить.

[code]public class AppointmentsTableController {
public List<SelectOption> doctorOption{set;}
public List<Doctor__c> docList {get;set;}
public String selectedDoctorName{get;set;}

public List<SelectOption> getDoctorOption () {
        List<SelectOption> options = new List<SelectOption>();
        docList = [SELECT Name, Working_Hours_Start__c, Working_Hours_End__c  
        		   FROM Doctor__c];
        for(Doctor__c doc : docList) {
            options.add(new SelectOption(doc.Name, doc.Name));
        }
        selectedDoctor = findSelectedDoctor();
        doctorAppointmens = getDoctorAppointments();
        return options;
    }
}[/code]
Скажите пожалуйста как сделать так что бы в selectDoctorName появилось имя которе выбрали в Visualforce page. И в этом ли проблема?

[code]<apex:pageBlockSection>
          <apex:pageBlockSectionItem >
              <apex:outputLabel value="Select a Doctor"/> 
                  <apex:selectList value="{!selectedDoctorName}" size="1">
                      <apex:selectOptions value="{!doctorOption}" />
                  </apex:selectList>
          </apex:pageBlockSectionItem>
</apex:pageBlockSection>[/code]

Пишет что: [b]List has no rows for assignment to SObject[/b]

P.S. Это нужно для того что бы вывести на экран информацию о выбраном докторе.

Pavel
Добрый день. У меня selectedDoctorName пустой и я не знаю как его заполнить.

public class AppointmentsTableController {
public List<SelectOption> doctorOption{set;}
public List<Doctor__c> docList {get;set;}
public String selectedDoctorName{get;set;}

public List<SelectOption> getDoctorOption () {
List<SelectOption> options = new List<SelectOption>();
docList = [SELECT Name, Working_Hours_Start__c, Working_Hours_End__c
FROM Doctor__c];
for(Doctor__c doc : docList) {
options.add(new SelectOption(doc.Name, doc.Name));
}
selectedDoctor = findSelectedDoctor();
doctorAppointmens = getDoctorAppointments();
return options;
}
}


Скажите пожалуйста как сделать так что бы в selectDoctorName появилось имя которе выбрали в Visualforce page. И в этом ли проблема?

<apex:pageBlockSection>
<apex:pageBlockSectionItem >
<apex:outputLabel value="Select a Doctor"/>
<apex:selectList value="{!selectedDoctorName}" size="1">
<apex:selectOptions value="{!doctorOption}" />
</apex:selectList>
</apex:pageBlockSectionItem>
</apex:pageBlockSection>

Пишет что: List has no rows for assignment to SObject

P.S. Это нужно для того что бы вывести на экран информацию о выбраном докторе.

Не хватает кода для findSelectedDoctor и getDoctorAppointments

В самом дебаге можно посмотреть на какой конкретно строке валится ваша ошибка

[quote="Pavel"]Добрый день. У меня selectedDoctorName пустой и я не знаю как его заполнить.

[code]public class AppointmentsTableController {
public List<SelectOption> doctorOption{set;}
public List<Doctor__c> docList {get;set;}
public String selectedDoctorName{get;set;}

public List<SelectOption> getDoctorOption () {
        List<SelectOption> options = new List<SelectOption>();
        docList = [SELECT Name, Working_Hours_Start__c, Working_Hours_End__c  
        		   FROM Doctor__c];
        for(Doctor__c doc : docList) {
            options.add(new SelectOption(doc.Name, doc.Name));
        }
        selectedDoctor = findSelectedDoctor();
        doctorAppointmens = getDoctorAppointments();
        return options;
    }
}[/code]
Скажите пожалуйста как сделать так что бы в selectDoctorName появилось имя которе выбрали в Visualforce page. И в этом ли проблема?

[code]<apex:pageBlockSection>
          <apex:pageBlockSectionItem >
              <apex:outputLabel value="Select a Doctor"/> 
                  <apex:selectList value="{!selectedDoctorName}" size="1">
                      <apex:selectOptions value="{!doctorOption}" />
                  </apex:selectList>
          </apex:pageBlockSectionItem>
</apex:pageBlockSection>[/code]

Пишет что: [b]List has no rows for assignment to SObject[/b]

P.S. Это нужно для того что бы вывести на экран информацию о выбраном докторе.[/quote]

Не хватает кода для findSelectedDoctor и getDoctorAppointments

В самом дебаге можно посмотреть на какой конкретно строке валится ваша ошибка

Я разобрался. Надо было добавить этот код на Visualpage.

<apex:actionFunction action="{!getDoctorAppointments}" name="selectAppointments" rerender="doctorAppointmentTable, doctorHoursId, pagination"/>

И в значение листа прописать
onchange="selectAppointments();

Я разобрался. Надо было добавить этот код на Visualpage.
[code]<apex:actionFunction action="{!getDoctorAppointments}" name="selectAppointments" rerender="doctorAppointmentTable, doctorHoursId, pagination"/>[/code]
И в значение листа прописать 
[code]onchange="selectAppointments();[/code]

Павел, вот это страница выше - это вы что-то кастомизируете в Salesforce Health Cloud приложении или это какое кастомное медицинские приложение?

Павел, вот это страница выше - это вы что-то кастомизируете в Salesforce Health Cloud приложении или это какое кастомное медицинские приложение?

Это кастомное приложение

Это кастомное приложение

Pavel
Это кастомное приложение

ок, а то я удивляюсь, почему visualforce еще используется

[quote="Pavel"]Это кастомное приложение[/quote]

ок, а то я удивляюсь, почему  visualforce еще используется