You need to sign in to do that
Don't have an account?
Mano sfdc
I need Radio Buttons instead of checkboxes in below code
Hi All,
Page Code:
<apex:page controller="Send_Doc_Controller" >
<apex:sectionHeader title="Documents" subtitle="Email a Document"
description="email existing document to specified email address"/>
<apex:form >
<apex:pageMessages />
<apex:pageBlock title="Document Input">
<apex:pageBlockButtons >
<apex:commandButton action="{!sendDoc}" value="Send Document"/>
</apex:pageBlockButtons>
<apex:pageBlockSection >
<apex:pageBlockSectionItem >
<apex:outputLabel value="Email send to" for="email"/>
<apex:inputText value="{!email}" id="email"/>
</apex:pageBlockSectionItem>
<!--- <apex:pageBlockSectionItem >
<apex:outputLabel value="Document" for="document"/>
<apex:selectList value="{!documentId}" id="document" size="1">
<apex:selectOptions value="{!documents}"/>
</apex:selectList>
</apex:pageBlockSectionItem> --->
</apex:pageBlockSection>
<apex:pageBlockSection title="Select Documents" columns="2" >
<apex:selectCheckboxes layout="pageDirection" borderVisible="true" value="{!documentId}" id="document" legendInvisible="false"><apex:selectoptions value="{!documents}" /></apex:selectCheckboxes>
</apex:pageBlockSection>
</apex:pageBlock>
</apex:form>
</apex:page>
Class Code:
public with sharing class Send_Doc_Controller {
// public ID documentId {get;set;}
Public List<Id> documentId {get;set;}
public String email {get;set;}
public string[] s = new string[]{};
public List<SelectOption> documents {
get {
documents = new List<SelectOption>();
for(Document d : [SELECT id,Name FROM Document ]){
Documents.add(new SelectOption(d.Id,d.name));
}
return documents;
}
set;
}
public Send_Doc_Controller(){
documentId = new List<Id>();
}
public PageReference sendDoc(){
Document doc = [select id, name, body, contenttype, developername, type
from Document where id IN: documentId];
system.debug('!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!'+doc);
Messaging.EmailFileAttachment attach = new Messaging.EmailFileAttachment();
attach.setContentType(doc.contentType);
attach.setFileName(doc.developerName+'.'+doc.type);
attach.setInline(false);
attach.Body = doc.Body;
Messaging.SingleEmailMessage mail = new Messaging.SingleEmailMessage();
mail.setUseSignature(false);
s = email.split(',');
system.debug('@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'+s);
mail.setToAddresses(s);
system.debug('%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%'+string.valueof(s));
mail.setSubject('Document Email Demo');
mail.setHtmlBody('Here is the email you requested: '+doc.name);
mail.setFileAttachments(new Messaging.EmailFileAttachment[] { attach });
// Send the email
Messaging.sendEmail(new Messaging.SingleEmailMessage[] { mail });
ApexPages.addMessage(new ApexPages.Message(ApexPages.Severity.INFO, 'Email with Document sent to '+email));
return null;
}
}
Note: in documents, need at least two documents.
Page Code:
<apex:page controller="Send_Doc_Controller" >
<apex:sectionHeader title="Documents" subtitle="Email a Document"
description="email existing document to specified email address"/>
<apex:form >
<apex:pageMessages />
<apex:pageBlock title="Document Input">
<apex:pageBlockButtons >
<apex:commandButton action="{!sendDoc}" value="Send Document"/>
</apex:pageBlockButtons>
<apex:pageBlockSection >
<apex:pageBlockSectionItem >
<apex:outputLabel value="Email send to" for="email"/>
<apex:inputText value="{!email}" id="email"/>
</apex:pageBlockSectionItem>
<!--- <apex:pageBlockSectionItem >
<apex:outputLabel value="Document" for="document"/>
<apex:selectList value="{!documentId}" id="document" size="1">
<apex:selectOptions value="{!documents}"/>
</apex:selectList>
</apex:pageBlockSectionItem> --->
</apex:pageBlockSection>
<apex:pageBlockSection title="Select Documents" columns="2" >
<apex:selectCheckboxes layout="pageDirection" borderVisible="true" value="{!documentId}" id="document" legendInvisible="false"><apex:selectoptions value="{!documents}" /></apex:selectCheckboxes>
</apex:pageBlockSection>
</apex:pageBlock>
</apex:form>
</apex:page>
Class Code:
public with sharing class Send_Doc_Controller {
// public ID documentId {get;set;}
Public List<Id> documentId {get;set;}
public String email {get;set;}
public string[] s = new string[]{};
public List<SelectOption> documents {
get {
documents = new List<SelectOption>();
for(Document d : [SELECT id,Name FROM Document ]){
Documents.add(new SelectOption(d.Id,d.name));
}
return documents;
}
set;
}
public Send_Doc_Controller(){
documentId = new List<Id>();
}
public PageReference sendDoc(){
Document doc = [select id, name, body, contenttype, developername, type
from Document where id IN: documentId];
system.debug('!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!'+doc);
Messaging.EmailFileAttachment attach = new Messaging.EmailFileAttachment();
attach.setContentType(doc.contentType);
attach.setFileName(doc.developerName+'.'+doc.type);
attach.setInline(false);
attach.Body = doc.Body;
Messaging.SingleEmailMessage mail = new Messaging.SingleEmailMessage();
mail.setUseSignature(false);
s = email.split(',');
system.debug('@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'+s);
mail.setToAddresses(s);
system.debug('%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%'+string.valueof(s));
mail.setSubject('Document Email Demo');
mail.setHtmlBody('Here is the email you requested: '+doc.name);
mail.setFileAttachments(new Messaging.EmailFileAttachment[] { attach });
// Send the email
Messaging.sendEmail(new Messaging.SingleEmailMessage[] { mail });
ApexPages.addMessage(new ApexPages.Message(ApexPages.Severity.INFO, 'Email with Document sent to '+email));
return null;
}
}
Note: in documents, need at least two documents.
Shashank (Salesforce Developers)
You should be using "apex:selectradio" instead of "apex:selectlist" to get radio buttons. Please see this: http://www.salesforce.com/us/developer/docs/pages/Content/pages_compref_selectRadio.htm